(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];

版权声明:
作者:Ne-21
链接:https://blog.gocos.cn/archives/74.html
来源:云淡风轻
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
(ES6)ECMAScript6新特性 – var/let
var 之前,写js变量的时候。只有一个关键字:var 但var有一个问题,就是定义的变量有时候会成为全局变量。 例如: for(var i = 0; i < 5; i++){ conso……
<<上一篇
下一篇>>