回答
这是它使用__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. 在对象字面量中使用“with”?
- 3. Javascript - 将大对象字面量转换为另一个对象字面量
- 4. JavaScript对象字面 - 调用
- 5. 如何字面对象添加到另一个对象字面量在JavaScript
- 6. JavaScript对象字面
- 7. Javascript对象字面量。 object [i] .variable
- 8. JavaScript对象字面量&“this”上下文?
- 9. 存储变量与Javascript对象字面
- 10. 对象文字中的Javascript对象字面量
- 11. 对象字面量变量
- 12. 在JavaScript中,何时使用对象字面量以及何时使用数组?
- 13. 对象字面量的引用变量?
- 14. JavaScript对象字面范围
- 15. JavaScript对象字面此外
- 16. javascript:在对象字面量函数中使用'this'给出一个错误
- 17. 声明JavaScript对象在脚本#字面
- 18. 在JavaScript中不能定义变量对象字面
- 19. 在javascript中的对象字面量数组
- 20. 在多个文件上使用对象字面量的jquery
- 21. 使用此关键字的对象字面的JavaScript
- 22. JavaScript对象 - 数字键字面值undefined
- 23. 对象字面量和静态变量
- 24. 对象字面量语法错误中的JavaScript字符串字面值错误
- 25. 访问JavaScript对象在同一对象字面值
- 26. 是否有任何使用“对象字面量”的简单JavaScript语言?
- 27. Javascript:使用对象字面量时,属性的排序很重要吗?
- 28. 使用数组,对象字面量或JSON的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