登录

javascript - 关于在Firebug下let的作用域问题

如图所示,刚开始在for循环语句块中使用let声明变量i,跟预期一样,在语句块外面无法获取i的值。然后我把let换成var之后便可以在外面获取到i的值了,到这为止都很正常。然而诡异的事情发生了,再把var换回let时,居然在语句块外面能访问到i的值了!而且i的上一次结果还被保留了!实现了在语句块外面递增!
这是个什么情况?!用的是Firefox 47.0.1

# JavaScript
ringa_lee ringa_lee 2565 天前 272 次浏览

全部回复(1) 我要回复

  • ringa_lee

    ringa_lee2017-04-11 11:26:51

    var 之后生成了一个全局变量,当然可以取到了,递增的 i 还是上次 var 定义的 i,不是 let 的 i

    回复
    0
  • 取消 回复 发送