美文网首页
JS中的let

JS中的let

作者: EcoRI | 来源:发表于2018-11-28 20:15 被阅读0次

    ES6 新增了let命令,用来声明局部变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,而且有暂时性死区的约束。

    ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。

    总之,在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)。

    let非常适合用于 for循环内部的块级作用域。JS中的for循环体比较特殊,每次执行都是一个全新的独立的块作用域,用let声明的变量传入到 for循环体的作用域后,不会发生改变,不受外界的影响。

    for (let i = 0; i < 10; i++) {

      setTimeout(function() {

        console.log(i);

      }, 0);

    }

    // 输出结果:0  1  2  3  4  5  6  7  8 9

    let不允许在相同作用域内,重复声明同一个变量。否则报错。

    相关文章

      网友评论

          本文标题:JS中的let

          本文链接:https://www.haomeiwen.com/subject/xtazqqtx.html