2010.06.03(3)——— javascript 原型继承
接上一节,这次是原型继承
[color=red]每个对象都连接到一个原型对象,并且它可以从中继承属性,所有通过对象字面量创建的对象都连接到Object.prototype这个JavaScript中标准的对象[/color]
JavaScript提供的实现机制过于复杂,但其实可以明显简化的 我们给Object对象增加一个beget方法,这个方法创建一个使用原对象作为其原型的新对象
还是上一节那个例子
这是一种差异化继承,通过定制一个新的对象,我们[color=red]指明了它与所基于的基本对象的区别[/color]。
接上一节,这次是原型继承
[color=red]每个对象都连接到一个原型对象,并且它可以从中继承属性,所有通过对象字面量创建的对象都连接到Object.prototype这个JavaScript中标准的对象[/color]
JavaScript提供的实现机制过于复杂,但其实可以明显简化的 我们给Object对象增加一个beget方法,这个方法创建一个使用原对象作为其原型的新对象
if(typeof Object.beget!== 'function'){
Object.beget = function(o){
var F = function(){};
F.prototype = o;
return new F();
}
}
还是上一节那个例子
var myMammal = {
name: "xiaodu",
get_name: function(){
return this.name;
},
says: function(){
return this.saying || '';
}
};
var myCat = Object.beget(myMammal);
myCat.name = "lipeng";
myCat.saying = 'meow';
myCat.get_name = function(){
return this.says + ' ' + this.name + ' ' +this.says;
};
这是一种差异化继承,通过定制一个新的对象,我们[color=red]指明了它与所基于的基本对象的区别[/color]。