是否可以在JS对象中添加一个默认函数(构造函数)

Is it possibile Add a default function (constructor) to JS Object

本文关键字:默认 构造函数 函数 一个 添加 JS 对象 是否      更新时间:2023-09-26

这是我的代码

var obj={a:1,b:2}

我不想更改上面的代码(它来自其他地方)我正在寻找一种将函数(可能是构造函数)添加到对象中的方法。因此用户将能够运行obj()

我想过

  • obj=function(){}//它正在删除上面的所有键
  • obj.contractor=函数(){}//不工作

你还有其他想法吗?

由于函数也是JavaScript中的对象,因此可以执行以下操作:

var x = function() {
  return 0;
};
x.a = 1;
x.b = 2;
document.body.textContent = x() + ' ' + x.a + ' ' + x.b;

在问这个问题的过程中,我找到了答案:使用extend功能

new_obj=function () {alert('the new function')}
obj=jQuery.extend(new_obj,obj)
//New I can run:
obj.a // 1
obj.b // 2
obj() // will show an alert