数据的作用域
- JS有两种作用域:全局作用域和函数作用域
- 内部的作用域能访问外部,反之不行。访问时从内向外依次查找。
- 如果在内部的作用域中访问了外部,则会产生闭包。
- 内部作用域能访问的外部,取决于函数定义的位置,和调用无关
var a = 1;
function F1() {
a++;
}
function Fn() {
var a = 2;
F1(); // -> 内部作用域能访问的外部,取决于函数定义的位置,和调用无关
console.log(a)// 1
}
Fn(); // 1
- 作用域内定义的变量、函数声明会提升到作用域顶部