美文网首页
JavaScript函数作用域和声明提前

JavaScript函数作用域和声明提前

作者: longMountain | 来源:发表于2018-11-21 10:51 被阅读0次

函数作用域

JavaScript 中没有块级作用域,JavaScript 取而代之地使用了函数作用域。变量在声明它们的函数体以及这个函数体嵌套的任意函数内都是有定义的。

函数作用域.png

声明提前

以下两种写法是等价的。由于函数作用域的特性,局部变量在整个函数体始终是有定义的。

image1.png
image2.png
上述过程等价于:将函数内的变量声明提前至函数体顶部,同时变量初始化留在原来的位置。

由于 JavaScript 没有块级作用域,因此一些程序员特意将变量声明放在函数体顶部,而不是将声明靠近放在使用变量之处。这种做法使得他们的源代码非常清晰地反应了真实的变量作用域。

相关文章

网友评论

      本文标题:JavaScript函数作用域和声明提前

      本文链接:https://www.haomeiwen.com/subject/vfpqqqtx.html