javascript - 如何运行作为参数给出的匿名函数
问题描述
我知道我可以将函数作为 javascript 中的参数。我也可以运行作为参数给出的函数。这是一个例子:
function myfunction(param1, callbackfunction)
{
//do processing here
callbackfunction();
}
如果我想给出一个匿名函数怎么办,它将如何在外部函数中运行。
例如,使用类似的功能
setTimeout(function(){
})
这个匿名函数是如何不带名字直接运行的呢?
解决方案
调用函数不需要名称。名称仅对调试工具有用(例如,在检查堆栈跟踪时)。
要调用函数,您需要一个解析为函数的表达式,您可以在后面加上()
.
您将函数作为第一个参数传递给setTimeout
,因此它存储在该函数的第一个参数中。setTimeout
的内部然后调用它。
你对你的代码做同样的事情,只是它是第二个参数。
myfunction("some param", function () { /* ... */ }) ;
推荐阅读
- c# - PgpCore 错误 - “未找到消息的密钥。”
- ios - ByteCountFormatter 以 MB 为单位,结果以逗号(,)而不是点(。)返回
- acumatica - 通用搜索 - 重定向到自定义屏幕
- python - 将两个链表中的公共元素插入到第三个链表中
- sql - 外部表中“AddressLine1”列的数据类型与该列的数据类型不同
- android - 有没有办法以编程方式使用约束布局助手小部件流?
- javascript - 修改 smooth-dnd 库中的包装器元素
- python - Python timeit 计时器 - 启动和停止功能?
- c++ - 递归地仅返回字符串中的特定字符 C++
- spring - 无法在 docker 容器中运行我的 Spring Boot WAR 文件