我有一些對象,比如son
,我想從另一個對象father
繼承。將原型添加到對象文字
當然我可以做一個構造函數的父親,像
Father = function() {
this.firstProperty = someValue;
this.secondProperty = someOtherValue;
}
然後用
var son = new Father();
son.thirdProperty = yetAnotherValue;
但是這不正是我想要的。由於son
將具有許多屬性,因此將兒子聲明爲對象文字將更具可讀性。但是,我不知道如何設置它的原型。
做這樣的事情
var father = {
firstProperty: someValue;
secondProperty: someOtherValue;
};
var son = {
thirdProperty: yetAnotherValue
};
son.constructor.prototype = father;
將無法正常工作,因爲原型鏈似乎被隱藏,並且不關心constructor.prototype的變化。
我想我可以使用__proto__
屬性在Firefox,像
var father = {
firstProperty: someValue;
secondProperty: someOtherValue;
};
var son = {
thirdProperty: yetAnotherValue
__proto__: father
};
son.constructor.prototype = father;
但是,據我瞭解,這是不是語言的標準功能,它是最好不要直接使用它。
有沒有一種方法來指定對象文字的原型?
http://stackoverflow.com/questions/1592384/adding-prototype-to-object-literal – 2012-12-01 20:04:36