作用域
变量作用域:就是一个变量可以使用的范围。
js中首先有一个最外层的作用域,全局作用域
js中可以通过函数来创建一个独立作用域,其中函数可以嵌套,所以作用域也可以嵌套
作用域链
变量的查找过程,称之为变量的作用域链。
全局作用域3种
1.在函数外部,使用var声明的变量
var a = 1;
console.log(a);
var b = 2;
console.log(window)
2.在函数内部,不使用var声明的变量
function test() {
a = 1;
}
test();
console.log(a)
3.使用window.c声明的变量
window.c = 3
console.log(window)
作用域链
outer调用->innner内部->outer内部->window
var a = 1
function outer() {
function inner() {
console.log(a)
}
inner()
}
outer()