1

假设我有一个 JavaScript 对象 foo,它有一个属性“bar”,它的值是一个函数。

var foo = {"bar" : someFunction};

我可以用匿名函数替换“someFunction”。但是,如果我想单独定义函数怎么办:

function someFunction() { 
  ...
}

我不能写foo.bar = someFunction(),因为它将存储评估函数的结果。

如何将foo.bar' 值设置为函数?设置后我将如何调用它?

4

4 回答 4

4

如何将 foo.bar 的值设置为函数?

没有括号:

foo.bar = someFunction;

设置后我将如何调用它?

像对待任何函数一样对待属性:

foo.bar();
于 2013-07-23T21:14:27.247 回答
1

取出(),你应该能够将它设置为等于一个函数

   foo.bar = someFunction; //assign
   foo.bar(); // call

http://jsfiddle.net/sN9cs/1/

于 2013-07-23T21:14:52.377 回答
1

您应该简单地将 分配bar给一些someFunction 指针,如下所示:

var foo  = {};
function someFunction() {
};
foo.bar = someFunction;


foo.bar();
于 2013-07-23T21:15:30.343 回答
0

第一个例子就是你是怎么做的。只是不要调用该函数:

foo.bar = someFunction;
于 2013-07-23T21:14:38.380 回答