[英]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.