在JavaScript中使用对象文字实现继承
Achieve inheritance using object literal in JavaScript
如何实现这一点:
function Vehicle(){
this.mobility = true;
};
function Car(){};
Car.prototype = new Vehicle();
var myCar = new Car();
console.log(myCar.mobility);
使用用Object文字创建的对象?
我知道Object.create(),但有没有类似的方法
Car.prototype = new Vehicle();
实现这一目标?
以下是如何使用__proto__
:
var propertiesToInherit = { 'horsepower': 201, 'make': 'Acura' }
var myCar = {};
myCar.__proto__ = propertiesToInherit;
console.log(myCar.horsepower); // 201
console.log(myCar.make); // Acura
话虽如此,我会避免这样做。看起来它已被弃用
一种可能性是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
的所有实例。
相关文章:
- 如何使用动画实现纸张推车
- 添加文字和评论功能更新Div
- 客户端服务器REST API captcha实现
- 如何实现此布局
- Meteor忘记了密码的实现
- 使用Native Sockets在Android中实现WebSockets
- 在样板文件中实现Ajax
- instanceof是如何在JavaScript中实现的
- 如何正确实现Jquery多选小部件
- 实现一个建立在google.com之上的自定义搜索引擎
- 如何计算对象文字中的键
- 多个组件是如何实现的
- window.location使用jquery mobile实现chrome跳转
- 如何在OpenERP中实现网络摄像头
- I'我想放下画布上的文字.帮帮我
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- javascript加密实现,包括可信否认
- Vim-当代码的文字字符串中有括号时,如何实现正确的缩进
- 在JavaScript中使用对象文字实现继承
- 在html5/css3/javascript中实现全功能文字处理器的可能性