原文:深入理解javascript原型和闭包(13)-【作用域】和【上下文环境】

上文简单介绍了作用域,本文把作用域和上下文环境结合起来说一下,会理解的更深一些。 如上图,我们在上文中已经介绍了,除了全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了。而不是在函数调用时确定。 下面我们将按照程序执行的顺序,一步一步把各个上下文环境加上。另外,对上下文环境不了解的朋友,可以去看看之前的两篇文章: http: www.cnblogs.com wangfup ...

2014-09-25 08:18 20 42116 推荐指数:

查看详情

深入理解javascript原型闭包(18)——补充:上下文环境作用域的关系

本系列用了大量的篇幅讲解了上下文环境作用域,有些人反映这两个是一回儿事。本文就用一个小例子来说明一下,作用域上下文环境绝对不是一回事儿。 再说明之前,咱们先用简单的语言来概括一下这两个的区别。 00 上下文环境: 可以理解为一个看不见摸不着的对象(有若干个属性),虽然看不见摸不着 ...

Tue Sep 30 02:32:00 CST 2014 44 22297
深入理解javascript原型闭包(8)——简述【执行上下文】上

什么是“执行上下文”(也叫做“执行上下文环境”)?暂且不下定义,先看一段代码: 第一句报错,a未定义,很正常。第二句、第三句输出都是undefined,说明浏览器在执行console.log(a)时,已经知道了a是undefined,但却不知道a是10(第三句中)。 在一段js代码拿过来 ...

Tue Sep 23 01:49:00 CST 2014 32 62207
深入理解javascript原型闭包(14)——从【自由变量】到【作用域链】

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

Thu Sep 25 22:50:00 CST 2014 25 47357
深入理解javascript原型闭包(12)——简介【作用域

提到作用域,有一句话大家(有js开发经验者)可能比较熟悉:“javascript没有块级作用域”。所谓“块”,就是大括号“{}”中间的语句。例如if语句: 再比如for语句: 所以,我们在编写代码的时候,不要在“块”里面声明变量,要在代码的一开始就声明好了。以避免发生歧义 ...

Thu Sep 25 01:10:00 CST 2014 9 41389
深入理解javascript原型闭包(9)——简述【执行上下文】下

继续上一篇文章(http://www.cnblogs.com/wangfupeng1988/p/3986420.html)的内容。 上一篇我们讲到在全局环境下的代码段中,执行上下文环境中有如何数据: 变量、函数表达式——变量声明,默认赋值为undefined; this——赋值 ...

Tue Sep 23 16:43:00 CST 2014 25 47364
深入理解javascript原型闭包(11)——执行上下文

继续上文的内容。 执行全局代码时,会产生一个执行上下文环境,每次调用函数都又会产生执行上下文环境。当函数调用完成时,这个上下文环境以及其中的数据都会被消除,再重新回到全局上下文环境。处于活动状态的执行上下文环境只有一个。 其实这是一个压栈出栈的过程——执行上下文栈。如下图: 可根据 ...

Wed Sep 24 05:26:00 CST 2014 12 43747
深入理解javascript作用域系列第五篇——一张图理解执行环境作用域

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

Mon Aug 01 04:10:00 CST 2016 13 3733
理解上下文作用域

一直以来没有对上下文(context)的定义,总有些模糊,没有认真地总结过,听到这个词,会想到看过的“上下文是函数执行环境”,“上下文是this”,但真的让自己去解释还真说不上来,故趁今日有空总结温故一番,有什么错误的,还望大家提出! 《javascript权威指南》里是第8章函数导读页里有这 ...

Sun Mar 06 01:00:00 CST 2016 1 9508
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM