码迷,mamicode.com
首页 > 其他好文 > 详细

作用域、变量提升、函数提升、数据类型

时间:2019-09-07 11:08:02      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:es6   microsoft   访问   new   对象   基本   变量提升   执行   表达式   

一、作用域分类 (作用域范围内定义的变量,整个作用域都可以访问)

  1. 全局作用域

  使用var声明(或者不严格模式下没有声明)且在函数外定义的变量,其作用域范围是全局的,称其为全局作用域。

  2. 函数作用域

  使用var声明且在函数内部定义的变量,其作用域范围是整个函数,称其为函数作用域。

  3. 块作用域(ES6)

  使用let(或者const 常量)声明且在一个花括号(非函数)里面,其作用域范围就是这个花括号以内,称其为块作用域。

二、变量提升 (变量声明会提升至函数或者语句的最前面,位置还在其作用域范围内,let跟const定义的变量不会变量提升)

三、函数提升 (只有函数声明会提升,函数表达式不会提升)

  test()// 正常执行

 

  function test () {}

  testOne()// testOne 不是一个函数

  var testOne = function () {}

四、数据类型

  1. 六种基本数据类型 (undefined; null; boolean; number; string; symbol) 不能够是new Boolean; new String; new Number (这些的类型是object)

  2. 对象 (Array; Date; Math; RegExp; Function等)

作用域、变量提升、函数提升、数据类型

标签:es6   microsoft   访问   new   对象   基本   变量提升   执行   表达式   

原文地址:https://www.cnblogs.com/shulan-hu/p/11479266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!