Javascript的坑(一)---------- block statement scope

在ECMAScript 6之前,Javascript是没有block statement scope的.....

这就导致了诡异的现象,比如下面的代码

 

var x = 1;
{
  var y = 2;
}
console.log(y); // outputs 2

 

 简直神奇.....

 

现在有了ECMAScript 6,代码就可以这样写

var x = 1;
{
  let y = 2;
}
console.log(y); // ReferenceError: y is not defined

 

 嗯,这样就可以愉快地玩耍了....

 

posted @ 2016-03-16 22:57  迟立文  阅读(2402)  评论(0编辑  收藏  举报