[b]作用[/b]:用来声明变量。
[b]与var声明变量的区别[/b]:let声明的变量,只在let命令所在的代码块内有效。
for循环的计数器,就很合适使用let命令:
为JavaScript新增了块级作用域:
移步详解:[url]http://es6.ruanyifeng.com/#docs/let[/url]
{
let a = 10;
var b = 1;
}
a // ReferenceError: a is not defined.
b // 1
[b]与var声明变量的区别[/b]:let声明的变量,只在let命令所在的代码块内有效。
for循环的计数器,就很合适使用let命令:
for(let i = 0; i < arr.length; i++){}
console.log(i)//ReferenceError: i is not defined
为JavaScript新增了块级作用域:
//执行匿名函数(IIFE)写法
(function () {
var tmp = ...;
...
}());
// 块级作用域写法
{
let tmp = ...;
...
}
function f1() {
let n = 5;
if (true) {
let n = 10;
}
console.log(n); // 5
function f2() {
var n = 5;
if (true) {
var n = 10;
}
console.log(n); // 10
}
移步详解:[url]http://es6.ruanyifeng.com/#docs/let[/url]