Javascript--动态原型模式

原型模式中,不管你是否调用了原型中的共享方法,他都会初始化原型中的方法,并且在声明一个对象时,构造函数+原型部分让人感觉又很怪异,最好就是把构造函数和原型封装到一起,为了解决这个问题,我们可以使用动态原型模式。

//可以将原型模式封装到构造函数里
    function Box(name,age){
        this.name = name;
        this.age = age;
        this.family = ['one','two','three'];

        if(typeof this.tun!= 'function'){     //判断函数是否存在
            Box.prototype.run = function(){
                return this.name + this.age + 'yunxingzhong...'
            };
        }
    }
    var box1 = new Box('Lee',100);
    var box2 = new Box('Jack',200);
原文地址:https://www.cnblogs.com/cbhello/p/3336280.html