|
function a()
{
var x="sth";
return b(){
//do with x;
}
}
var c = a();
等價于
function a()
{
this.x = "dosth";
this.b = function(){
//do with this.x
}
}
var c = new a();
但是
1)函數式編程本能地避免無用對象的構造
因為函數式編程鼓勵當用到閉包的時候才去調用閉包構造
而面向對象通常事先構造好對象,準備在那里
2)函數式編程保護私有變量
x不會被除閉包外的外部訪問
3)閉包和對象一樣要注意釋放資源
如: c = null; setTimeout(CollectGarbage,100);
JavaScript技術:javascript 函數式編程,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。