【发布时间】:2015-02-17 22:41:26
【问题描述】:
Javascript 使用函数来创建对象的事实起初让我感到困惑。像这样的例子经常被用来强调原型在 Javascript 中是如何工作的:
function Car(){
this.setModel=function(model){
this.model=model;
}
this.getModel=function(){
return this.model;
}
}
function Bus(){}
Bus.prototype=new Car();
var obj=new Bus();
obj.setModel('A Bus');
alert(obj.getModel('A Bus');
是否可以不使用new FunctionName() 使用原型? IE。像这样:
var Car={
setModel:function(model){
this.model=model;
},
getModel:function(){
return this.model
}
}
var Bus={
prototype:Car;
};
var obj=Bus;
obj.setModel('A Bus');
alert(obj.getModel());
这不使用函数和new 来创建对象。相反,它直接创建对象。
如果没有像 Object.__proto__ 这样的弃用功能或像 Object.setPrototypeOf() 这样的实验性功能,这是否可能?
【问题讨论】:
-
将原型设置为
new对象是否常见?例如,请参阅 MDN 文档:developer.mozilla.org/en-US/docs/Web/JavaScript/…
标签: javascript oop prototype