Javascript IE8中的设置超时问题
在IE8中使用javascript setTimeout函数时,我遇到了一个奇怪的问题。 我想像这样使用'setTimeout'函数-Javascript IE8中的设置超时问题,javascript,internet-explorer-8,settimeout,Javascript,Internet Explorer 8,Settimeout,在IE8中使用javascript setTimeout函数时,我遇到了一个奇怪的问题。 我想像这样使用'setTimeout'函数- setTimeout(timeout,2000, {name:'saarthak'}); function timeout(opts) { alert('hello ' + opts.name); } setTimeout的第三个参数是我想要传递给调用函数的参数。这是完美的工作在FF,铬,但不是在IE8
setTimeout(timeout,2000, {name:'saarthak'});
function timeout(opts)
{
alert('hello ' + opts.name);
}
setTimeout的第三个参数是我想要传递给调用函数的参数。这是完美的工作在FF,铬,但不是在IE8
有人知道该怎么办吗?或者有什么办法来实现这一点
谢谢这里可能不支持,因此请使用以下内容:
window.setTimeout(function() {
timeout({name:'saarthak'});
},2000);
意思是从匿名函数中调用函数 如果您想通过更改变量调用timeout(例如,使用许多名称在循环中调用timeout),您也可以在IE8中使用:
var names = ["saarthak", "saarthak2", "saarthak3"];
for (var q in names) {
setTimeout(
(function(opts){
return function(){
alert ("hello " + opts.name)
}
})({name:names[q]}), 2000);
}
请参阅:您可能已经找到了它:请注意,在Internet Explorer中,以第一种语法向函数传递附加参数不起作用@是的,我就是这么做的。无论如何,谢谢你(魔法师)