let

作者: 始终丶 | 来源:发表于2018-12-26 15:04 被阅读0次

    基本用法

    ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

    
    {
    
    let a=10;
    
    var b=1;
    
    }
    
    a // ReferenceError: a is not defined.
    
    b // 1
    
    

    以上代码 var的声明中返回的是正确的值 let的声明则会报错。 这表明let声明的变量只所声明的代码块中有效

    
    for(let i = 0; i < 10;i++){
    
    }
    
    alert(i)//报错
    
    

    以上代码 计算器i 只能在循环中使用 ,再循环外使用就会报错。

    let 不存在变量提升

    
    console.log(a)
    
    var a=10;//undefined
    
    //
    
    console.log(a)
    
    let b=10;//报错
    
    

    上面代码中,变量avar命令声明,会发生变量提升,即脚本开始运行时,变量a已经存在了,但是没有值,所以会输出undefined。变量blet命令声明,不会发生变量提升。这表示在声明它之前,变量b是不存在的,这时如果用到它,就会抛出一个错误。

    不允许重复声明

    
    // 报错
    
    function func() {
    
      let a = 10;
    
      var a = 1;
    
    }
    
    // 报错
    
    function func() {
    
      let a = 10;
    
      let a = 1;
    
    }
    
    

    因此,不能在函数内部重新声明参数。

    
    function func(arg) {
    
      let arg; // 报错
    
    }
    
    function func(arg) {
    
      {
    
        let arg; // 不报错
    
      }
    
    }
    
    

    相关文章

      网友评论

          本文标题:let

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