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 用来声明变量.它的用法类似于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…
let命令 为es6新增命令,用来声明变量,类似于var,但是let所声明的变量,只在let命令所在的块级作用域内有效 块级作用域写法(ES6块级作用域允许任意嵌套): // 块级作用域写法 { let tmp = ...; ... } 块级作用域例1 for (let i = 0; i < 10; i++) { // ... } console.log(i);//ReferenceError: i is not defined 解析:上面代码中,i的作用域是for循环体内,在循环体外引用就会报…