Javascript 将静态对象转换为动态对象
如果我有这样一个对象:Javascript 将静态对象转换为动态对象,javascript,Javascript,如果我有这样一个对象: var obj = {}; 我不能扩展它,因为它没有任何原型 是否有任何方法将此对象转换为动态对象,以便可以扩展它并使用new关键字。比如: obj.prototype.property = 'value'; var newobj = new obj; 这与静态或动态无关 只能对函数而不是对象使用new运算符 你不能把一个对象变成一个函数;首先需要将其创建为函数。唯一的方法是: var obj=function(){} 因为您只能在构造函数中使用new关键字。就这样
var obj = {};
我不能扩展它,因为它没有任何原型
是否有任何方法将此对象转换为动态对象,以便可以扩展它并使用new关键字。比如:
obj.prototype.property = 'value';
var newobj = new obj;
这与静态或动态无关 只能对函数而不是对象使用
new
运算符
你不能把一个对象变成一个函数;首先需要将其创建为函数。唯一的方法是:
var obj=function(){}代码>
因为您只能在构造函数中使用new
关键字。就这样 我所说的“动态”是指扩展它的能力。那么,是否不可能将prototype与上述对象一起使用?@RuntimeException:您误解了prototype
。原型与“扩展”对象无关;它们仅用于构造函数。您可以在任何对象上创建所需的任何属性。您可以执行以下操作:obj.prototype={property:'value'}代码>你可以很容易地扩展它,它是一个对象obj.property='value'
,它不需要定制原型。