回答
這是它使用__proto__
你怎麼做:
var propertiesToInherit = { 'horsepower': 201, 'make': 'Acura' }
var myCar = {};
myCar.__proto__ = propertiesToInherit;
console.log(myCar.horsepower); // 201
console.log(myCar.make); // Acura
話雖這麼說,我會避免這樣做。它看起來像是deprecated
一種可能性是Prototype.js;除其他事項外,它允許您創建和使用更清晰的語法擴展JS類:
// properties are directly passed to `create` method
var Person = Class.create({
initialize: function(name) {
this.name = name;
},
say: function(message) {
return this.name + ': ' + message;
}
});
// when subclassing, specify the class you want to inherit from
var Pirate = Class.create(Person, {
// redefine the speak method
say: function($super, message) {
return $super(message) + ', yarr!';
}
});
var john = new Pirate('Long John');
john.say('ahoy matey');
// -> "Long John: ahoy matey, yarr!"
我不知道我是否正確地理解你的問題,但也許你可以試試這個:
var literal = { mobility: true };
function Car(){};
Car.prototype = literal;
var myCar = new Car();
console.log(myCar.mobility);
請注意,如果更改文字,則會更改所創建的所有Car
實例。
雅,但是可以在沒有製作Car構造函數的情況下實現。我的意思是直接來自'myCar'對象。 – 2012-07-14 01:58:06
你的意思是'var myCar = literal;'?或者,也許你想將文字的內容複製到汽車中? – 2012-07-14 02:00:08
我的意思是我們可以直接從'literal'繼承'myCar',或者以某種方式創建'Car'構造函數,然後'Car.prototype = literal'並從中實例化'myCar'?我的意思是我們可以使用object literal創建'myCar',然後從object'literal'繼承它嗎? – 2012-07-14 02:09:34
- 1. 使用JavaScript對象字面
- 2. Javascript - 將大對象字面量轉換爲另一個對象字面量
- 3. JavaScript對象字面
- 4. 存儲變量與Javascript對象字面
- 5. 對象文字中的Javascript對象字面量
- 6. 在JavaScript中,何時使用對象字面量以及何時使用數組?
- 7. 對象字面量的引用變量?
- 8. JavaScript對象字面此外
- 9. javascript:在對象字面量函數中使用'this'給出一個錯誤
- 10. 聲明JavaScript對象在腳本#字面
- 11. 在javascript中的對象字面量數組
- 12. 在多個文件上使用對象字面量的jquery
- 13. 使用此關鍵字的對象字面的JavaScript
- 14. JavaScript對象 - 數字鍵字面值undefined
- 15. Javascript:使用對象字面量時,屬性的排序很重要嗎?
- 16. Javascript對象 - 在創建對象之前使用對象中定義的變量
- 17. 對象和變量在Javascript
- 18. 在Javascript中使用對象
- 19. JavaScript對象變量對控制檯/頁面上的字符串的引用
- 20. JavaScript的對象字面量和jQuery的每個
- 21. Javascript:如何使用eval返回或解析對象字面值?
- 22. javascript對象字面值,值/沒有值?
- 23. 需要示例JavaScript對象字面
- 24. Javascript對象字面名稱規則
- 25. JavaScript對象字面值爲陣演示
- 26. Javascript對象變量?
- 27. JavaScript變量對象
- 28. 使用字符串變量訪問對象。 JavaScript的
- 29. 使用Javascript - 對象
- 30. 如何使用JavaScript字符串對象
嗯,你是我想到的。但不幸的是,它已被廢棄,如你所說。 – 2012-07-14 02:11:15
是否有你不想使用Object.create的原因?還是標準的功能繼承? – jalbee 2012-07-14 02:15:47
不,但我已經在某處讀過'Object.create()'是一個ECMAScript5特性,所以我很擔心跨瀏覽器的兼容性。我想知道它的替代方案,以防萬一我不得不使用對象文字而不是構造函數。 – 2012-07-14 02:20:31