是否可能向JS对象添加默认函数(构造函数)

时间:2015-11-26 10:14:17

标签: javascript jquery underscore.js

这是我的代码

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

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

我想过

  • obj = function(){} //正在删除上面的所有键
  • obj.contructor = function(){} // Not Working

你有其他想法吗?

2 个答案:

答案 0 :(得分:1)

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



var x = function() {
  return 0;
};
x.a = 1;
x.b = 2;

document.body.textContent = x() + ' ' + x.a + ' ' + x.b;




答案 1 :(得分:-3)

在提出问题的过程中,我找到了答案: 使用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