var 与 let 的区别

原文地址:http://stackoverflow.com/questions/762011/let-keyword-vs-var-keyword-in-javascript


var与let的区别是作用域不同,var作用域在最近的函数区块内,let作用域在最近的封闭区块内,比函数区块要小。如果没有在区块内的话,二者都是全局的。


全局的:

在函数区块之外使用的话,二者是等价的,都是全局的。

let me = 'go'; //globally scoped
var i = 'able'; //globally scoped

函数作用域:

在函数作用域内使用时,二者也是等价的。

function ingWithinEstablishedParameters() {
    let terOfRecommendation = 'awesome worker!'; //function block scoped
    var sityCheerleading = 'go!'; //function block scoped
}

区块:

这里是不同之处,let只在for循环内有效,var在整个函数内都有效。

function allyIlliterate() {
    //tuce is *not* visible out here

    for( let tuce = 0; tuce < 5; tuce++ ) {
        //tuce is only visible in here (同时在 for() 圆括号内可用)
    }

    //tuce is *not* visible out here
}

function byE40() {
    //nish *is* visible out here

    for( var nish = 0; nish < 5; nish++ ) {
        //nish is visible to the whole function
    }

    //nish *is* visible out here
}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值