闭包和面向对象设计

Posted T1amo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闭包和面向对象设计相关的知识,希望对你有一定的参考价值。

1.用闭包来实现面向对象设计

var extent=(function(){
    var value=0;
    return {
        call:function(){
            value++;
            console.log(value);
        }
    };
})();

extent.call()  //1

extent.call()  //2

extent.call()  //3

2.对象字面量法

var extent={
    value:0,
    call:function(){
        this.value++;
        console.log(this.value);
    }
}
extent.call()  //1
extent.call()   //2
extent.call()   //3

3.组合使用构造函数模式和原型模式

var Extent=function(){
    this.value=0;
};

Extent.prototype.call=function(){
    this.value++;
    console.log(this.value);
};

var extent=new Extent();

extent.call(); //1
extent.call(); //2
extent.call();//3

 

以上是关于闭包和面向对象设计的主要内容,如果未能解决你的问题,请参考以下文章

PHP Closure(闭包)类详解

描述下你对js闭包。面向对象继承的理解

js面向对象面试资料

JavaScript对象原型链继承和闭包

JavaScript对象原型链继承闭包

python闲谈--闭包