1

请考虑这个javascript:

var a = function(arg1) {
    alert(arg1);
}

a("hello");

a(function() { return "world"; });

如何让它在第二次通话中返回“世界”?现在它以字符串的形式返回整个函数。

4

3 回答 3

2

只需执行函数表达式,它将返回world并传递给a函数

a((function() { return "world"; })());

演示

于 2013-03-27T21:03:03.387 回答
1

您需要调用该函数,而不仅仅是引用它:

alert(arg1());

如果您需要处理使用a字符串或函数调用的情况,则需要检查参数的类型typeof并以不同方式处理它们。

于 2013-03-27T21:02:27.407 回答
1

第二个调用arg1是一个函数。

要获得结果,您必须执行该函数:

alert(arg1());
于 2013-03-27T21:02:37.703 回答