js教程:JavaScript作用域(Scope)

闫霄宇

闫霄宇

2016-02-20 00:55

今天图老师小编要向大家分享个js教程:JavaScript作用域(Scope)教程,过程简单易学,相信聪明的你一定能轻松get!

作用域(scope)是JavaScript语言的基石之一,在构建复杂程序时也可能是最令我头痛的东西。记不清多少次在函数之间传递控制后忘记关键字引用的究竟是哪个对象,甚至,我经常以各种不同的混乱方式来曲线救国,试图伪装成正常的代码,以我自己的理解方式来找到所需要访问的变量。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

这篇文章将正面解决这个问题:简述上下文(context)和作用域的定义,分析可以让我们掌控上下文的两种方法,最后深入一种高效的方案,它能有效解决我所碰到的90%的问题。

我在哪儿?你又是谁

JavaScript 程序的每一个字节都是在这个或那个运行上下文(execution context)中执行的。你可以把这些上下文想象为代码的邻居,它们可以给每一行代码指明:从何处来,朋友和邻居又是谁。没错,这是很重要的信息,因为 JavaScript社会有相当严格的规则,规定谁可以跟谁交往。运行上下文则是有大门把守的社区而非其内开放的小门。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

我们通常可以把这些社会边界称为作用域,并且有充足的重要性在每一位邻居的宪章里立法,而这个宪章就是我们要说的上下文的作用域链(scope chain)。在特定的邻里关系内,代码只能访问它的作用域链内的变量。与超出它邻里的变量比起来,代码更喜欢跟本地(local,即局部)的打交道。

具体地说,执行一个函数会创建一个不同的运行上下文,它会将局部作用域增加到它所定义的作用域链内。JavaScript通过作用域链的局部向全局攀升方式,在特定的上下文中解析标识符。这表示,本级变量会优先于作用域链内上一级拥有相同名字的变量。显而易见,当我的好友们一起谈论Mike West(本文

展开更多 50%)
分享

猜你喜欢

js教程:JavaScript作用域(Scope)

Web开发
js教程:JavaScript作用域(Scope)

javascript的作用域

Web开发
javascript的作用域

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JS教程:词法作用域和闭包

Web开发
JS教程:词法作用域和闭包

再探Javascript词法作用域

Web开发
再探Javascript词法作用域

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

简述JavaScript的scope机理

Web开发
简述JavaScript的scope机理

JS教程:学习Javascript数组

Web开发
JS教程:学习Javascript数组

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

JavaScript库开发规则

JavaScript库开发规则

JS教程:鼠标悬停文字上显示图片

JS教程:鼠标悬停文字上显示图片
下拉加载更多内容 ↓