2016-07-04 68 views
-1

我很难理解这个: 我知道你可以在一个函数内部声明一个变量,但只有它是本地的。另一方面,我可以在if语句或while/do ... while/for循环中声明局部变量吗?如果可以的话,变量是否只能在每个语句的本地使用?最后这是一个很好的行为(声明局部变量)在if语句还是循环中,我可能会运行什么情况进入和需要声明一个变量里面,如果语句或循环?是否有可能在if语句或循环中声明一个局部变量

+0

在ES 6中,您为块范围提供了新的关键字“let”。对于较早的版本,您必须将if区块的内容封装在自调用函数中,以将范围从父级隔离。 – binariedMe

+0

你也应该看看吊装 – ftor

回答

1

ES5仅支持功能级别范围。

ES6引入了允许块级作用域的let keyword

对于在循环中生成闭包等事情很有用。

相关问题