let声明

你很可能已经了解,JavaScript 中变量作用域的基本单元一直是 function 。如果需要创建一个块作用域,最普遍的方法除了普通的函数声明之外,就是立即调用函数表达式(IIFE)。举例来说:


var a = 2;

(function IIFE(){

    var a = 3;

    console.log( a ); // 3

})();

console.log( a ); // 2


但现在,我们可以创建绑定到任意块的声明,(不出意外地)其被称为块作用域。这意味着我们只需要一对 { .. } 就可以创建一个作用域。不像使用 var 那样声明的变量总是归属于包含函数(即全局,如果在最顶层的话)作用域,而是像下面这样使用 let :


var a = 2;

{

    let a = 3;

    console.log( a ); // 3

}

console.log( a ); // 2


在 JavaScript 中使用独立的 { .. } 还不是很常见的惯用法,但总是合法的。如果开发者有其他支持块作用域语言的经验,会很容易认出这种模式。


我认为这种使用一个专门的 { .. } 块的模式是创建块作用域变量的最好方法。另外,应该总是把 let 声明放在块的最前面。如果有多个变量需要声明的话,建议只用一个 let 。


从编码风格上来说,我甚至愿意把 let 和左括号 { 放在同一行,这样更明确地表明了这个块的目的只是为了声明这些变量的作用域。


{ let a = 2, b, c;

    // ..

}


看前端技术文章,就在Web前端精髓

640?wx_fmt=jpeg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值