更改对象

时间:2015-11-30 12:03:28

标签: javascript

我有这个简单的对象,我从别人那里得到了我的例子:(我无法更改对象源代码)

var a=function(){
   console.log('original')
}
a.p=true

Javascript是否有可能在不重建对象的情况下更改a object的默认功能?

如果我在做

 a=function(){'other function'}

我丢失了p属性(p == undefined

我知道我可以复制或扩展,我正在寻找最简单的解决方案。

我试过了:

 a.prototype.constructor=function(){console.log('new function')}
 a.constructor=function(){console.log('new function')}

但它没有用。

1 个答案:

答案 0 :(得分:0)

您可以使用原型并维护旧功能以及添加新功能。

a.constructor.prototype.test = function(){console.log('test');};

a();       //logs original
a.p;       //prints true
a.test();  //logs test