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

ES5 Objece.creat实现继承

时间:2016-04-19 11:52:56      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

Object.create() 

  Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不是一个子函数,可以传一个null,第二个参数是对象的属性描述符,这个参数是可选的。

例1:

var A=function(){
  this.blood="lee";
}
A.prototype.setI=function(){
  console.log( this.blood)
}

var a=new A();
var newa=Object.create(a);

newa.setI()        //newa拥有了A的原型方法

例2:

function Car (desc) {
    this.desc = desc;
    this.color = "red";
}
 
Car.prototype = {
    getInfo: function() {
      return ‘A ‘ + this.color + ‘ ‘ + this.desc + ‘.‘;
    }
};

var car =  Object.create(Car.prototype);
car.color = "blue";     //改写
console.log(car.getInfo());    //结果为:A blue undefined.

 在不支持Object.create方法的浏览器中,则可以使用以下代码

Object.create = Object.create || function(obj){
  var F = function(){};
  F.prototype = obj;

  return new F();
}

 

ES5 Objece.creat实现继承

标签:

原文地址:http://www.cnblogs.com/change-oneself/p/5407161.html

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