小结闭包:如果一个嵌套函数有全局引用吧,那么这个引用的产生肯定是调用了外围函数,因而产生了调用对象,因些这个调用对象会一直保持,由于这个调用对象的参数和变量等是嵌套函数的一部分,那么以后对嵌套函数的调用就会访问这个调用对象的这些参数和变量。
例:
Function makefun(x){return function() {return x;} ;}
Var a=[makefun(0),makefun(1),makefun(2)];
Alert(a[0]);//display 0
Alert(a[1]);//display 1
例:
Var Uniqueid=(function() {
Var id=0;
Retrun function() {return id++;};})();
Alert(uniqueid());//display 0
Alert(uniqueid());//display 1
这里的uniqueid得到的是函数Retrun function() {return id++;}
当用uniqueid()调用函数时才得到值。从这种例子可以看出点什么呢?我觉得只可意会不可言传。反正就是闭包函数在定义它的作用域里执行,它用了包含函数里的数据。
分享:
喜欢
0
赠金笔
阅读┊ ┊ ┊┊ ┊打印┊
已投稿到:
排行榜
加载中,请稍候......
前一篇:JS学习(一)
后一篇:JS学习(三)
评论 重要提示:警惕虚假中奖信息
发评论
登录名: 密码: 找回密码 注册
昵 称:
验证码: 请点击后输入验证码
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
< 前一篇JS学习(一)
后一篇 >JS学习(三)