|
function a()
{
var x="sth";
return b(){
//do with x;
}
}
var c = a();
等價(jià)于
function a()
{
this.x = "dosth";
this.b = function(){
//do with this.x
}
}
var c = new a();
但是
1)函數(shù)式編程本能地避免無(wú)用對(duì)象的構(gòu)造
因?yàn)楹瘮?shù)式編程鼓勵(lì)當(dāng)用到閉包的時(shí)候才去調(diào)用閉包構(gòu)造
而面向?qū)ο笸ǔJ孪葮?gòu)造好對(duì)象,準(zhǔn)備在那里
2)函數(shù)式編程保護(hù)私有變量
x不會(huì)被除閉包外的外部訪(fǎng)問(wèn)
3)閉包和對(duì)象一樣要注意釋放資源
如: c = null; setTimeout(CollectGarbage,100);
JavaScript技術(shù):javascript 函數(shù)式編程,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。