原文: https://toddmotto.com/everything-you-wanted-to-know-about-javascript-scope/JavaScript中有许多章节是关于scope的,但是对于初学者来说(甚至是一些有经验的JavaScript开发者) ...
原文: https://toddmotto.com/everything-you-wanted-to-know-about-javascript-scope/
JavaScript中有许多章节是关于scope
的,但是对于初学者来说(甚至是一些有经验的JavaScript开发者),这些有关作用域的章节既不直接也不容易理解. 这篇文章的目的就是为了帮助那些想更深一步学习了解JavaScript作用域的开发者,尤其是当他们听到一些关于作用域的单词的时候, 好比:作用域(scope)
,闭包(closure)
,this
,命名空间(namespace)
,函数作用域(function scope)
,全局作用域(global scope)
,词法作用域(lexical)
,公有变量(public scope)
,私有变量(private scope)
. 希望通过这篇文章你可以知道下面这些问题的答案:
- 什么是作用域?
- 什么是全局(局部)作用域?
- 什么是命名空间,它和作用域有什么不同?
this
关键字是什么,作用于又是怎么影响它的?- 什么是函数/词法作用域?
- 什么是闭包?
- 什么是共有/私有作用域?
- 我怎么样才能够理解/创建/实践上面所有的情况
什么是作用域?
在JavaScript中,作用域指的是你代码的当前上下文环境.作用域可以被全局或者局部地定义.理解JavaScript的作用域是让你写出稳健的代码并且成为一个更好的开发者的关键. 你将会理解那些变量或者函数是可以访问的,并且有能力去改变你代码的作用域进而有能力去写出运行速度更快,更容易维护,当然调试也非常容易的代码. 别把作用域想的太复杂,那么我们现在是在A作用域
还是B作用域
?
什么是全局作用域
当你在开始书写JavaScript代码的时候,你所处的作用域就是我们所说的全局作用域
.如果我们定义了一个变量,那么它就是被全局定义的:
// global scopevar name = 'Todd';
原标题:你想知道的关于JavaScript作用域的一切
关键词:JavaScript
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。