你的位置:首页 > 软件开发 > Java > 你想知道的关于JavaScript作用域的一切

你想知道的关于JavaScript作用域的一切

发布时间:2016-07-11 18:00:11
原文: 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 (#换成@)。