首页 > 代码库 > 动态原型模式,解决原型创建对象的时候未封装问题
动态原型模式,解决原型创建对象的时候未封装问题
//动态原型模式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:使用动态原型模式,要注意一点,不可以再使用字面量的方式重写原型,因为会切断实例和新原型之间的联系。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。