原文:深入理解JavaScript系列(14):作用域链(Scope Chain)

前言 在第 章关于变量对象的描述中,我们已经知道一个执行上下文 的数据 变量 函数声明和函数的形参 作为属性存储在变量对象中。 同时我们也知道变量对象在每次进入上下文时创建,并填入初始值,值的更新出现在代码执行阶段。 这一章专门讨论与执行上下文直接相关的更多细节,这次我们将提及一个议题 作用域链。 定义 如果要简要的描述并展示其重点,那么作用域链大多数与内部函数相关。 我们知道,ECMAScrip ...

2012-01-18 09:35 36 52247 推荐指数:

查看详情

深入理解javascript原型和闭包(14)——从【自由变量】到【作用域

先解释一下什么是“自由变量”。 在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量。如下图 如上程序中,在调用fn()函数时,函数体中第6行。取b的值就直接可以在fn作用域中取,因为b就是在这里定义的。而取x的值时,就需要到另一 ...

Thu Sep 25 22:50:00 CST 2014 25 47357
深入理解JavaScript作用域作用域

前言 JavaScript 中有一个被称为作用域(Scope)的特性。虽然对于许多新手开发者来说,作用域的概念并不是很容易理解,本文我会尽我所能用最简单的方式来解释作用域作用域,希望大家有所收获! 作用域(Scope) 1. 什么是作用域 作用域是在运行时代码中的某些特定部分中变量 ...

Fri Mar 15 18:06:00 CST 2019 1 4345
深入理解javascript作用域系列第四篇——块作用域

前面的话   尽管函数作用域是最常见的作用域单元,也是现行大多数javascript最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用其他类型的作用域单元甚至可以实现维护起来更加优秀、简洁的代码,比如块作用域。随着ES6的推广,块作用域也将用得越来越广泛。本文是深入理解 ...

Mon Jul 25 05:26:00 CST 2016 4 3641
js对象系列【二】深入理解js函数,详解作用域作用域

这次说一下对象具体的一个实例:函数,以及其对应的作用域作用域。简单的东西大家查下API就行了,这里我更多的是分享自己的理解与技巧。对于作用域作用域,相信绝大多数朋友看了我的分享都能基本理解,少数人看完之后再努力思考思考,基本也就懂了。最后说一下,不合理的地方,欢迎批评指正。 函数调用 ...

Tue Feb 27 05:03:00 CST 2018 0 1255
深入理解javascript作用域系列第五篇——一张图理解执行环境和作用域

前面的话   对于执行环境(execution context)和作用域(scope)并不容易区分,甚至很多人认为它们就是一回事,只是高程和犀牛书关于作用域的两种不同翻译而已。但实际上,它们并不相同,却相互纠缠在一起。本文先用一张图开宗明义,然后进行术语的简单解释,最后根据图示内容进行详细 ...

Mon Aug 01 04:10:00 CST 2016 13 3733
深入理解javascript作用域系列第三篇——声明提升(hoisting)

前面的话   一般认为,javascript代码在执行时是由上到下一行一行执行的。但实际上这并不完全正确,主要是因为声明提升的存在。本文是深入理解javascript作用域系列第三篇——声明提升(hoisting) 变量声明提升   直觉上,会认为是undefined ...

Sun Jul 24 23:17:00 CST 2016 2 3027
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM