JavaScript 作用域
在学习js的过程对闭包什么的,理解不好,偶然搜到这篇文章。豁然开朗,随翻译。 Javacript 中有一系列作用域的概念。对于新的JS的开发人员无法理解这些概念,甚至一些经验丰富的开发者也未必能。这篇文章主要目的帮助理解JavaScript中的一些概念如:scope,closure, this, namespace, function scope, global scope, lexical scope and public/private scope. 希望从这篇文章中能回答如下的问题: 什么是作用域(scope)? 什么是全局(Global)和局部(Local)作用域? 什么是命名空间和作用域的区别? 什么是this关键字且作用域对其的影响? 什么是函数作用域、词汇作用域? 什么是闭包? 什么是公有和私有作用域? 如何理解和创建上述内容? 什么是作用域( Scope)? 在JavaScript中,作用域通常是指代码的上下文(context)。能够定义全局或者局部作用域。理解JavaScript的作用域是编写强健的代码和成为一个好的开发者的前提。你需要掌握在那里获取变量和函数,在那里能够能够改变你的代码上下文的作用域以及如何能够编写快速和可读性强以及便于调试的代码。 想象作用域非常简单,我们在作用域A还是作用域B? 什么是全局作用域( Global Scope)?