更改对象的默认功能

Change default function of object

本文关键字:默认 功能 对象      更新时间:2023-09-26

我有一个简单的对象,我在示例中从其他人那里得到:(我无法更改对象源代码)

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')}

但它没有起作用。

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

a.constructor.prototype.test = function(){console.log('test');};
a();       //logs original
a.p;       //prints true
a.test();  //logs test