作用域提升
1.作用域:
- 标识符(变量和函数名)在那些地方被访问,那些地方就是这个标识符的作用域
这些地方指的是:函数的代码块内部和外部
- 规则1:函数内部的代码可以访问函数内部的标识符,也可以访问函数外部的标识符
- 规则2:函数外部的代码可以访问函数外部的标识符,但不能访问函数内部的标识符
2.分析原则:
(1).就近原则:访问标识符最近保存的值
(2)作用域链
js代码由浏览器中的js解析器来执行、js解析器在运行代码时分两步走:
预解析和代码执行
1)预解析:
每一个作用域在运行时,js引擎第一步把作用域内部的关键字隐式提前扫描,提升到当前作用域最前面声明;不赋值
- 提升变量
- 提升函数:
注意:对象内部的方法(因为