javascript - Javascript 中 setTimeout 和匿名函数的问题

标签 javascript anonymous-function

为什么这在 Firebug 控制台中不起作用:

function(s,e) {
setTimeout(function(){grvClosingDocs.Refresh();CBPDocFlow.PerformCallback();},100)
}

虽然这样做:

setTimeout(function(){grvClosingDocs.Refresh();CBPDocFlow.PerformCallback();},100)

最佳答案

它不起作用,因为你没有调用包装你的 setTimeout 的其他匿名函数,它实际上是如何调用的?

您必须为它命名并调用它:

function someFunc(s,e) {
    setTimeout(function(){grvClosingDocs.Refresh();CBPDocFlow.PerformCallback();},100)
}
someFunc();

或者用括号包起来,立即调用

(function(s,e) {
    setTimeout(function(){grvClosingDocs.Refresh();CBPDocFlow.PerformCallback();},100)
})();

或者命名并在文档加载时调用它:

JS:

function someFunc(s,e) {
    setTimeout(function(){grvClosingDocs.Refresh();CBPDocFlow.PerformCallback();},100)
}

HTML

<body onload='someFunc'>
....

关于javascript - Javascript 中 setTimeout 和匿名函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3699470/

相关文章:

javascript - 如何扩展列表并选择动态值。

javascript - 使用 jQuery 缓存模糊事件

javascript - 在UI5表格的不同行中添加不同的控件

c++ - 匿名函数是在内存中持久存在,还是按值传递

javascript - 解释封装的匿名函数语法

javascript - 我的 anchor 标记不断打开服务器上的链接

javascript - 如何将图像用作用 Canvas 制作的文本的颜色

php - PHP 中静态匿名函数的意外范围

javascript - Three.js 转换的 OBJ 渲染为网格很好,但记录为未定义?

javascript - 如何传递函数来比较项目?