1. let语法,用法和var一样
1. 作用域不同
若用let来声明变量,只在let命令所在的代码块内有效。而var只有在function内用才能有块级作用域效果,除了function,在其他地方用var全声明的是全局变量1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16//例1
{
let a = 10;
var b = 1;
}
a // ReferenceError: a is not defined.
b // 1
//例2
for (let i = 0; i < 3; i++) {
let i = 'abc'; //这个i和上面的数字i不互相影响
console.log(i);
}
// abc
// abc
// abc
2. let不会变量提升!
2. 解构语法
1 | //es5 |
若是用在函数里:1
2
3
4
5
6
7
8function(response){
let {options:method,body,successFn} = response;
}
//上面这样可以简化为下面
function({options:method,body,successFn}){
//直接把这个当参数,省略options
}
3.
1 | //es5 |