【发布时间】:2013-06-26 04:42:48
【问题描述】:
我已经阅读并通过自己的经验发现,JavaScript 没有块作用域。假设这种语言是出于某种原因设计的,你能向我解释一下是什么原因吗?
我在 Google 和这里查看过,但我发现的帖子只是重申 JS 具有函数作用域而不是块作用域,而没有解释原因。我很想知道为什么会这样。
【问题讨论】:
-
JavaScript 中的函数式编程风格并不鼓励它,我想再加上 JS 是一个仓促的概念,但
let即将出现在 ES6 中,因此我们将在不久的将来拥有块范围。 Firefox 已经支持let。 -
语言的创始人回答了这个问题,@Aadit 和我自己的解释似乎涵盖了任何其他问题,所以我认为它不再只是意见。
标签: javascript scope