JavaScript函数式编程

JavaScript的函数式编程的对象本质: 
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)