繁体   English   中英

传递函数不评估

[英]Passing function does not evaluate

请考虑这个javascript:

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

a("hello");

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

如何让它在第二次通话中返回“世界”? 现在它将整个函数作为字符串返回。

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

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

DEMO

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

alert(arg1());

如果你需要应付a被称为与一个字符串或一个功能,你需要检查与参数的类型typeof和不同的方式处理它们。

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

要获得结果,您必须执行以下功能:

alert(arg1());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM