[英]Problem with setTimeout and anonymous function in Javascript
为什么这在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();
或者将其包裹在parens中并立即调用它
(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'>
....
因为您没有在第一个示例中调用该函数。 您需要调用该函数,您可以执行以下操作。 函数周围的括号用于防止语法错误: 函数表达式 (这是您的示例)本身不是有效语句。 最后的括号调用该函数。
(function(s,e) {
setTimeout(function(){grvClosingDocs.Refresh();CBPDocFlow.PerformCallback();},100)
})();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.