let 用来声明变量.它的用法类似于var,但是所声明的变量, 只在let命令所在的代码块内有效. 例: {var a=10; let b=20;}; console.loge(a);//10 ;console.log(b);//报错. 代码的作用域更加明显. for(let i=0;i<10;i++){console.log(i)};console.log(i);//0~9;报错. 不会污染全局变量,外部是访问不到变量 i 的. var a=[]; for(var…
1.ES6新增了块级作用域的let和const 这新特性let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. for循环的计数器,就很合适使用let命令. 下面的代码如果使用var,最后输出的是10. var a = []; for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[6](); 上面代码中,变量i是var声明的,在全局范围内都有效.所以每一次…
首先要说let,他是只在代码块中执行的变量,例如: { let a = 10; var b = 1;}console.log(a);//definedconsole.log(b);//1 面试题系列咱们说过,闭包的经典应用是在循环的时候: var a = [];for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); };}a[6](); // 10 这样是得不出你想要的结果的,以…