javascript 函数式编程
人气:0
JavaScript的函数式编程的对象本质:
function a()
{
var x="sth";
return b(){
/https://img.qb5200.com/download-x/do with x;
}
}
var c = a();
等价于
function a()
{
this.x = "dosth";
this.b = function(){
/https://img.qb5200.com/download-x/do with this.x
}
}
var c = new a();
但是
1)函数式编程本能地避免无用对象的构造
因为函数式编程鼓励当用到闭包的时候才去调用闭包构造
而面向对象通常事先构造好对象,准备在那里
2)函数式编程保护私有变量
x不会被除闭包外的外部访问
3)闭包和对象一样要注意释放资源
如: c = null; setTimeout(CollectGarbage,100);
function a()
{
var x="sth";
return b(){
/https://img.qb5200.com/download-x/do with x;
}
}
var c = a();
等价于
function a()
{
this.x = "dosth";
this.b = function(){
/https://img.qb5200.com/download-x/do with this.x
}
}
var c = new a();
但是
1)函数式编程本能地避免无用对象的构造
因为函数式编程鼓励当用到闭包的时候才去调用闭包构造
而面向对象通常事先构造好对象,准备在那里
2)函数式编程保护私有变量
x不会被除闭包外的外部访问
3)闭包和对象一样要注意释放资源
如: c = null; setTimeout(CollectGarbage,100);
加载全部内容