我尝试在IE9上创建一个setTimeout,但它仍然会抛出一个"无效的参数"例外...
这是我的代码:
events
有没有人有线索?
答案 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);