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

setTimeout - Internet
EN

Stack Overflow用户
提问于 2016-10-06 14:42:34
回答 1查看 729关注 0票数 0

我试图在setTimeout上创建一个IE9,但它仍然抛出一个“无效参数”异常.

这是我的代码:

代码语言:javascript
复制
var timeout;
timeout = setTimeout((function(s_text){
    alert(s_text);
})('Hello'), 1000);

有人有线索吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-06 14:46:53

您正在实现的方法将不起作用。您使用的是将立即执行的生命:

代码语言:javascript
复制
(function(s_text){
    alert(s_text);
})('Hello')

“你好”会被通知的。但是,由于该方法不返回任何内容,所以您将不使用任何内容调用超时。

代码语言:javascript
复制
timeout = setTimeout(/*undefined or null*/, 1000);

所以这就是问题所在。

编辑:如果您想使用一个已经存在于作用域之外的变量,只要它是在父作用域中定义的,函数就可以直接使用它:

代码语言:javascript
复制
var timeout;
var alert_text = "hello";
timeout = setTimeout(function(){
    alert(alert_text);
}, 1000);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39898995

复制
相关文章

相似问题

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