我有这个简单的对象,我从别人那里得到了我的例子:(我无法更改对象源代码)
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')}
但它没有用。
答案 0 :(得分:0)
您可以使用原型并维护旧功能以及添加新功能。
a.constructor.prototype.test = function(){console.log('test');};
a(); //logs original
a.p; //prints true
a.test(); //logs test