中国学客联盟

 找回密码
 立即注册
查看: 2172|回复: 3

javascript的闭包

[复制链接]

产品经理

Rank: 70Rank: 70Rank: 70Rank: 70Rank: 70Rank: 70Rank: 70

UID
90
威望
0
贡献
0
在线时间
28 小时
注册时间
2014-2-25
听众
253328

官方技术巡查人员勋章

发表于 2014-9-25 10:05:16 | 显示全部楼层 |阅读模式

要理解闭包的概念,一句话,必须理解语法的上下文概念。

context。

语法分析的时候一个重要的概念就是上下文,

程序运行时的的一个重要概念也是上下文,在v8的引擎里面反复看到的一个类就是context。

闭包,形式上看就是一个函数里面包含另外一个函数,其实,和c++里面的class里面包含method是一回事,你执行class的method的时候,这个method是否要参考class的内容呢?如果要,javascript的闭包里面的function访问包含的它的那个function的变量也就不足为奇了。

本质是什么呢?是context的嵌套,每一个函数都有context,(编译时,运行时),如果要运行一个闭包的function,那么首先要进入闭包它的function(或者class)的context。



高级会员

Rank: 4

UID
3638938
威望
0
贡献
0
在线时间
0 小时
注册时间
2015-9-12
听众
0
发表于 2020-1-1 13:23:55 | 显示全部楼层
顶起顶起顶起

高级会员

Rank: 4

UID
3638913
威望
0
贡献
0
在线时间
0 小时
注册时间
2015-8-31
听众
0
发表于 2020-1-1 15:22:43 | 显示全部楼层
非常感谢楼主的好东西。

高级会员

Rank: 4

UID
3638175
威望
0
贡献
0
在线时间
0 小时
注册时间
2015-7-11
听众
0
发表于 2020-1-1 16:53:15 | 显示全部楼层
边撸边过
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

快速回复 返回顶部 返回列表