Javascript let var或var to let
在过去的几个月里,我学到了很多关于JavaScript的知识。多年来,我一直在滥用这些语言,我敢说,我现在对这种语言有了更好的理解,我也开始喜欢它的功能性带来的好处。Javascript let var或var to let,javascript,scope,var,let,Javascript,Scope,Var,Let,在过去的几个月里,我学到了很多关于JavaScript的知识。多年来,我一直在滥用这些语言,我敢说,我现在对这种语言有了更好的理解,我也开始喜欢它的功能性带来的好处。 最近我开始学习计划,但那只是为了好玩。浏览页面时,我注意到JS虽然没有块作用域,但有一个关键字可以用来声明给定块的局部变量,很像Scheme的let: for (var i=0;i<someArray.length;i++) { console.log(someArray[i]); } console.log(i);
最近我开始学习计划,但那只是为了好玩。浏览页面时,我注意到JS虽然没有块作用域,但有一个关键字可以用来声明给定块的局部变量,很像Scheme的
let
:
for (var i=0;i<someArray.length;i++)
{
console.log(someArray[i]);
}
console.log(i);//will log someArray's length
for(var i=0;i是的,这完全与浏览器支持有关。目前只有Firefox实现了它(因为它是ECMAScript超集的一部分)
但它是,所以有希望
我怀疑var
比let
有很多好处,因为两者都得到了支持。我认为格言应该是“let
是新的var
”不能接受你的答案(再过5分钟),但你完全正确,我也有你的希望……虽然很傻,但我目前正在使用Chrome,如果我刚刚花时间打开我的控制台并尝试让x=1;
我就会知道那里有问题。很傻,但仍然:让
希望每个读到这个问题的人在EC中尽快提出支持let的请求MA邮件列表:)@EliasVanOotegem:是的,我最后一次听说他们的目标是2013年12月,所以我们还有一些等待,但是你可以通过设置启动标志来启用Chrome中已经实现的一些新功能,允许实验性JavaScript。不确定是否包括let
。要设置这些,请键入chrome://flags/
在chrome的地址栏中。刚刚启用了实验功能,并且支持let
,但是FF和chrome之间存在一些差异,尽管部分原因可能是控制台评估代码的方式不同。无论如何,一个大+1和感谢linkTypeScript将在1.4版本中提供let
支持:@Vadorequest:考虑到TS刚刚被转换成JS,这不是重点。这个问题是关于各种JS实现,而不是Transcompiler/X编译器,以及它们如何处理ES6特性。
for (let i=0;i<someArray.length;i++)
{
console.log(someArray[i]);
}
console.log(i);//undefined