首页 > 解决方案 > 如何运行作为参数给出的匿名函数

问题描述

我知道我可以将函数作为 javascript 中的参数。我也可以运行作为参数给出的函数。这是一个例子:

function myfunction(param1, callbackfunction)
{
    //do processing here
    callbackfunction();
}

如果我想给出一个匿名函数怎么办,它将如何在外部函数中运行。

例如,使用类似的功能

setTimeout(function(){
})

这个匿名函数是如何不带名字直接运行的呢?

标签: javascript

解决方案


调用函数不需要名称。名称仅对调试工具有用(例如,在检查堆栈跟踪时)。

要调用函数,您需要一个解析为函数的表达式,您可以在后面加上().

您将函数作为第一个参数传递给setTimeout,因此它存储在该函数的第一个参数中。setTimeout的内部然后调用它。

你对你的代码做同样的事情,只是它是第二个参数。

myfunction("some param", function () { /* ... */ }) ;

推荐阅读