javascript - 如何创建一个对象,其中对象本身就是一个函数?

标签 javascript

我有一个从构造函数创建的 javascript 对象。

var obj = new Obj();

它有几个功能,但我也希望按如下方式使用它;

obj();

对象定义为:

function obj() {
   this.blah = function () {
   };
}

我该怎么做?

最佳答案

拥有一个您调用的函数会更容易,该函数返回一个既被视为对象又被视为函数的任意函数。每一个都是独一无二的,您不需要使用 new

function Obj() {
 var ret = function(){
  console.log('Hello');
 };
 ret.blah = function () {
   console.log('World');
 };
 return ret;
}

var obj = Obj();

obj();//Hello
obj.blah();//World

关于javascript - 如何创建一个对象,其中对象本身就是一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28226461/

相关文章:

javascript - storage.removeItem - 我如何使用它从值而不是键中删除多个项目

javascript - 如何调用 iframe 做某事?

javascript - 类型错误 :$. ajax 不是一个函数——点击 spring boot @controller 页面的问题

Javascript 在 asp.net 内容页面中不起作用

javascript - 无法更改链接的标题属性

javascript - LocalStorage 在 chrome 的不同选项卡中返回 null

javascript - 如何克隆 dom 的元素或 block ?

javascript - Firefox 插件引用错误

javascript - 在Javascript上拼接空数组

javascript - 将 winston 添加到 express 应用程序