首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript setTimeout

Javascript setTimeout
EN

Stack Overflow用户
提问于 2010-11-09 06:52:44
回答 1查看 617关注 0票数 1

你能告诉我为什么这样做吗:

代码语言:javascript
复制
PageMethods.UpdateForcedDisposition(forcedDisposition, a.value, SucceededCallback, FailedCallback);

当这不是的时候?

代码语言:javascript
复制
setTimeout("PageMethods.UpdateForcedDisposition(" + forcedDisposition + "," + a.value + ", SucceededCallback, FailedCallback);", 1000);

有趣的是,类似的调用也适用于setTimeout

代码语言:javascript
复制
setTimeout("PageMethods.UpdateSales(" + id + ", " + a.value + ", SucceededCallback, FailedCallback);", 1000);

…我被难住了!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-09 06:55:42

避免将字符串传递给setTimeout。尽可能使用匿名函数:

代码语言:javascript
复制
window.setTimeout(function () {
    PageMethods.UpdateForcedDisposition(
        forcedDisposition, 
        a.value, 
        SucceededCallback, 
        FailedCallback
    );
}, 1000);

带有字符串的setTimeout在全局作用域中执行。如果你试图引用当前作用域中的变量,你会遇到一个错误。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4128938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档