首页 > 代码库 > 动态原型模式,解决原型创建对象的时候未封装问题

动态原型模式,解决原型创建对象的时候未封装问题

//动态原型模式function Box(name,age){    this.name = name;    this.age = age;    this.family = [‘哥哥‘,‘姐姐‘,‘妹妹‘];    if(typeof this.run != ‘function‘){        //判断this.run是否存在        Box.prototype.run = function(){            return this.name + this.age + ‘运行中...‘;        };    }    }//原型的初始化,只要第一次初始化就可以了,没必要每次都初始化var box1 = new Box(‘Lee‘,100);alert(box1.run());var box2 = new Box(‘Jak‘,200);alert(box2.run());

ps:使用动态原型模式,要注意一点,不可以再使用字面量的方式重写原型,因为会切断实例和新原型之间的联系。