变量的作用域链
一个变量的查找,找这个变量最近定义
var
的地方,找到了就不会再继续向外找了.
下面用代码实例说明:
实例1:
var a = 10;
function show(){
console.log(a);
}
show(); // 10
实例2
var a = 10;
function show(){
console.log(a);
a = 20;
}
show(); // 还是10
实例3
局部变量的误解
for
循环
由于JavaScript的变量作用域实际上是函数内部,我们在for
循环等语句块中是无法定义具有局部作用域的变量的:
function foo() {
for (var i= 0; i < 100; i++) {
//
}
i += 100; //
document.write(i); // 200
}
foo();
if
条件语句
if(true){
var i = 100;
}
console.log(i); // 100
为了解决块级作用域,ES6引入了新的关键字
let
,用let
替代var
可以申明一个块级作用域的变量
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。