您的位置:首页 > Web前端 > JavaScript

理解 JavaScript 闭包{转载}

2010-01-16 16:04 281 查看
【转】http://www.cnblogs.com/chenxizhang/archive/2010/01/02/1638010.html

 

本文转载自:http://www.cn-cuckoo.com/2007/08/01/understand-javascript-closures-72.html

 

要成为高级 JavaScript 程序员,就必须理解闭包。

本文结合 ECMA 262 规范详解了闭包的内部工作机制,让 JavaScript 编程人员对闭包的理解从“嵌套的函数”深入到“标识符解析、执行环境和作用域链”等等 JavaScript 对象背后的运行机制当中,真正领会到闭包的实质。

原文链接:JavaScript Closures

可打印版:JavaScript 闭包

目录

简介

对象属性名解析
值的赋予

值的读取

标识符解析、执行环境和作用域链
执行环境

作用域链与 [[scope]]

标识符解析

闭包
自动垃圾收集

构成闭包

通过闭包可以做什么?
例 1:为函数引用设置延时

例 2:通过对象实例方法关联函数

例 3:包装相关的功能

其他例子

意外的闭包

Internet Explorer 的内存泄漏问题

简介

返回目录

Closure 所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息