在Javascript中调用时,是否可以创建一个像函数一样的对象?

时间:2011-07-23 14:52:24

标签: javascript function object

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

像这样的东西:

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

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

1 个答案:

答案 0 :(得分:3)

Function是JavaScript中的一个对象,您可以这样做:

var o = function(a) { return a; }
o.prop = 2;

等等

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