码迷,mamicode.com
首页 > 其他好文 > 详细

函数创建对象(4)动态原型模式

时间:2016-09-11 12:45:30      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

把所有信息封装在构造函数内,通过在构造函数中初始化原型,保持了同时使用构造函数和原型的优点,通过检查某个应该存放的方法是否有效,来决定是否需要初始化原型。(通过if判断)

function Person(name,age,job){
     this.name=name;
     this.age-age;
     this.job=job;
    //判断方法是否存在
    if(typeof this.sayName!="function"){
           Person.prototype.sayName=function(){
                    alert(this.name);
      };
  }
}
var friend=new Person("Nicholas",30,"Engineer");
friend.sayName();

注意:使用动态原型模式时,不能使用对象字面量重写原型,会切断实例与新原型之间的联系;使用这种模式可以使用isstanceof操作符确定创建对象的类型。

 

函数创建对象(4)动态原型模式

标签:

原文地址:http://www.cnblogs.com/zhouchuanming/p/5861480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!