function?f1(){
var?n=999;
nAdd=function(){n+=1}
function?f2(){
alert(n);
}
return?f2;
}
var?result=f1();
result();?//?999
nAdd();
result();?//?1000不是很懂這段代碼為什么第一次result的時(shí)候結(jié)果是999,這段代碼不是按順序執(zhí)行的么?還是說(shuō)nAdd()必須調(diào)用才能使用,不然直接跳過(guò)直接運(yùn)行alert?nAd沒(méi)有var ,所以是全局變量,所以需要調(diào)用?var?name?=?"The?Window";
var?object?=?{
name?:?"My?Object",
getNameFunc?:?function(){
return?function(){
return?this.name;
};
}
};
alert(object.getNameFunc()());這個(gè)程序的結(jié)果是"The?Window";不是很明白為什么?var?name?=?"The?Window";
var?object?=?{
name?:?"My?Object",
getNameFunc?:?function(){
var?that?=?this;
return?function(){
return?that.name;
};
}
};
alert(object.getNameFunc()());這個(gè)程序的結(jié)果是"My?Object",上面的都是我在網(wǎng)上看見(jiàn)的,是一段關(guān)于閉包的文章,網(wǎng)址如下http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
一段關(guān)于閉包問(wèn)題的代碼,求大神解釋?
一顆獼猴桃
2016-06-26 16:33:04