(ES6)ECMAScript6新特性 – var/let

var

之前,写js变量的时候。只有一个关键字:var

var有一个问题,就是定义的变量有时候会成为全局变量。

例如:

for(var i = 0; i < 5; i++){
    console.log(i);
}
console.log("循环外:" + i);

输出结果:

可以看出,在循环外部也可以获取到变量i的值,显然变量i的作用域范围太大了,在做复杂页面时,会带来很大的问
题。

let

let所声明的变量,只在let所在的代码块内有效。

例如:(把var改成let

for(let i = 0; i < 5; i++){
    console.log(i);
}
console.log("循环外:" + i);

输出结果:

这样,就把变量的i的作用域控制在了循环内部。

var和let的其他区别

let不能被重复定义
let可以定义多个变量
let [c, d, e] = [1, 2, 3];
转载请注明出处,谢谢!
THE END
分享
二维码
打赏
< <上一篇
下一篇>>