Tôi có một số đối tượng, giả sử son
, mà tôi muốn kế thừa từ một đối tượng khác father
.Thêm nguyên mẫu vào một đối tượng theo ngữ nghĩa
Tất nhiên tôi có thể làm cho một hàm constructor cho cha, như
Father = function() {
this.firstProperty = someValue;
this.secondProperty = someOtherValue;
}
Và sau đó sử dụng
var son = new Father();
son.thirdProperty = yetAnotherValue;
nhưng đây không phải là chính xác những gì tôi muốn. Kể từ khi son
sẽ có nhiều thuộc tính, nó sẽ dễ đọc hơn khi con trai được khai báo là một đối tượng theo nghĩa đen. Nhưng sau đó tôi không biết làm thế nào để thiết lập protoype của nó.
Làm cái gì đó như
var father = {
firstProperty: someValue;
secondProperty: someOtherValue;
};
var son = {
thirdProperty: yetAnotherValue
};
son.constructor.prototype = father;
sẽ không hoạt động, như chuỗi nguyên mẫu dường như được ẩn đi và không quan tâm đến sự thay đổi của constructor.prototype.
Tôi nghĩ rằng tôi có thể sử dụng __proto__
tài sản trong Firefox, như
var father = {
firstProperty: someValue;
secondProperty: someOtherValue;
};
var son = {
thirdProperty: yetAnotherValue
__proto__: father
};
son.constructor.prototype = father;
nhưng, theo như tôi hiểu, đây không phải là một tính năng tiêu chuẩn của ngôn ngữ và nó là tốt hơn không sử dụng nó trực tiếp.
Có cách nào để chỉ định nguyên mẫu cho một đối tượng theo nghĩa đen không?
http://stackoverflow.com/questions/1592384/adding-prototype-to-object-literal –