javascript 自执行函数 在什么时候执行?

方方圆圆 发布于 2012/06/29 16:01
阅读 1K+
收藏 0
function User(properties){
for(var i in properties)
{
(function(which){
var p = i;
which["get"+i] = function(){return properties[p];};
which["set"+i]=function(val){properties[p]=val;};
})(this);
}
}
var user = new User({
name:"Bob",
age:44
});
alert(user.name==null);
alert(user.getname=="Bob");
user.setage(22);
alert(user.getage()==22);


比喻我上面这一段代码中,User类中的自执行函数是在什么时候执行的,是new的时候吗?
加载中
0
xyz555
xyz555
function User就是类User的构造函数。
0
方方圆圆
方方圆圆

自己再想了一下,javascript的代码应该是加载的时候就把所有函数等都加载内存中,所以上面的自执行函数在js加载的时候就执行了,自执行函数里面创建了其他函数,这里应该是一个闭包,user.getname=="Bob"时会执行闭包中的相关操作。

 

有谁来纠正我的错误么?

返回顶部
顶部