setTimeout - Internet Explorer

时间:2016-10-06 14:42:35

标签: javascript internet-explorer settimeout

我尝试在IE9上创建一个setTimeout,但它仍然会抛出一个"无效的参数"例外...

这是我的代码:

events

有没有人有线索?

1 个答案:

答案 0 :(得分:4)

您正在实施的方法不起作用。您正在使用将立即执行的IIFE:

(function(s_text){
    alert(s_text);
})('Hello')

并且'你好'会被警告。但是,由于该方法没有返回任何内容,因此您无需调用超时。

timeout = setTimeout(/*undefined or null*/, 1000);

这就是问题所在。

编辑: 如果要使用已存在于作用域之外的变量,只要在父作用域中定义该函数可以看到您可以直接使用它:

var timeout;
var alert_text = "hello";
timeout = setTimeout(function(){
    alert(alert_text);
}, 1000);