闭包引入的前提个人理解是为从外部读取局部变量,正常情况下,这是办不到的。简单的闭包举例如下: 1 function f1(){ 2 3 n=100; 4 5 function f2(){ 6 alert(n); 7 } 8 9 return f2;...
分类:
编程语言 时间:
2015-02-13 16:06:57
阅读次数:
151
最近一直想整理几篇好的文章分享给大家,无奈文笔太俗,也是一直懒惰。直到今天才稍微有个样子写出来,因为明天就不上班了。 本文都是自己平时经验积累,难免错误,欢迎指正,请勿拍砖。 开始。 在javascript中,...
分类:
编程语言 时间:
2015-02-12 10:57:50
阅读次数:
136
作用域:每个函数有自己执行环境(个人理解即作用域),而其执行环境决定了那个环境中的变量和函数可以访问的数据的权限。作用域链:从当前执行环境往外部检索(当前环境为此作用域链的最前端,全局环境为作用域链尾部),第一种情况检索成功,直到检索到对应变量为止;第二种情况检索失败,即找到全局环境还未找到相对应的...
分类:
其他好文 时间:
2015-02-11 10:40:58
阅读次数:
137
执行环境又称执行上下文,英文缩写是EC(Execution Context),每当执行流转到可执行代码时,即会进入一个执行环境。在JavaScript中,执行环境分三种:全局执行环境 — 这个是最外围的代码执行环境,一旦代码被载入,引擎最先进入的就是这个环境。在浏览器中,全局环境就是window对象...
分类:
其他好文 时间:
2015-02-10 12:46:20
阅读次数:
204
作用域链:
JavaScript的每个函数function都有自己的作用域,使用Active Object(简称AO)活动对象来保存,在相互嵌套的函数中形成了作用域链,如图:
作用域链就是从里到外的AO链
变量的寻找:
函数fn3中使用的变量,如在fn3作用域内寻找不到,则往外层fn2作用域寻找,以此类推,直到全局对象window
代码演示:
var c =...
分类:
编程语言 时间:
2015-02-09 16:05:37
阅读次数:
156
闭包的功能强大,但如果没有正确理解闭包的概念,其结果往往出乎人的意料。例如,下面是一个较常见的问题第一个第二个第三个第四个无论我们点击哪个div,反馈的都是第4个div的内容。究其原因,在于每个div的点击事件都与test方法形成了闭包,且每个div的点击事件都共享同一个闭包作用域链。当事件被触发时...
分类:
编程语言 时间:
2015-02-05 17:48:59
阅读次数:
136
Window对象是所有客户端Javascript特性和API的主要接入点。Window对象是全局对象。这意味着Window对象处于作用域链的顶部,它的属性和方法都是全局变量和全局函数。其中一个最重要的属性是document,它引用Document对象,表示显示在窗口中的文档。Window对象有一个引...
1、作用域作用域是js编程中一个重要的机制,它在内存管理中起着至关重要的作用。在js中能形成作用域的有函数的调用,全局作用域,with语句。2、作用域链对某一变量访问时,查找的原则是:在本函数作用域内查找,没找到,便到上一层去找。3、闭包它是一种技术,让外层作用域访问..
分类:
编程语言 时间:
2015-02-04 16:55:34
阅读次数:
214
(一)作用域:首先,在javascript中的每个函数都是对象,是Funtion对象的一个实例,而Funtion中有一系列仅供javascript引擎存取的内部属性,其中一个便是[[scope]],它包含了一个函数被创建的作用域中对象的集合,这个集合就是函数的作用域链。当一个函数创建后,它的作用域链...
分类:
Web程序 时间:
2015-01-17 15:06:29
阅读次数:
231
调用对象call object;声明上下文对象declarative environment record;作用域链scopechain;变量解析:variable resolution;引用错误referenceError表达式expression计算evaluate运算符operator原始表达...
分类:
编程语言 时间:
2015-01-16 19:03:35
阅读次数:
210