闭包和面向对象

  • 在Javascript中没有提供原生的面向对象设计,但是可以通过使用闭包来实现一个完整的面向对象系统。

 

 var add = function () {
            var value = 0;
            return {
                call: function () {
                    value++;
                    console.log(value);
                }
            };
        };
        var ad = add();
        ad.call();
        ad.call();
        ad.call();
  • 换成面向对象的写法就是
var add = {
            value:0,
            call: function () {
                this.value++;
                console.log(this.value);
            } 
        }; 
        add.call();//1
        add.call();//2
        add.call();//3

 

posted @ 2017-02-22 14:40  乌梅  阅读(194)  评论(0编辑  收藏  举报