在Javascript中调用时,是否可以使对象像函数一样工作?

在Javascript中调用时,是否可以使对象像函数一样工作?,javascript,function,object,Javascript,Function,Object,我想创建一个具有属性但也可以调用的对象。有点像toString属性,当对象用作字符串时,它返回一个表示该对象的字符串 工作原理如下: o = { prop: 2 toFunction: function(a) { return a; } } o('foo'); // returns foo o.prop; // returns 2 函数是JavaScript中的一个对象,因此您可以执行以下操作: var o = function(a) { return a; } o.pr

我想创建一个具有属性但也可以调用的对象。有点像toString属性,当对象用作字符串时,它返回一个表示该对象的字符串

工作原理如下:

o = {
  prop: 2
  toFunction: function(a) {
    return a;
  }
}

o('foo'); // returns foo
o.prop; // returns 2

函数是JavaScript中的一个对象,因此您可以执行以下操作:

var o = function(a) { return a; }
o.prop = 2;
诸如此类

o('foo'); // returns foo
o.prop; // returns 2