您的位置:首页 > 其它

setTimeOut传参数的时候的写法

2014-10-30 15:41 316 查看
无论是window.setTimeout还是window.setInterval,在使用函数名作为调用句柄时都不能带参数。

先看一个简单的代码:


function show(){


alert("Hello World");


}


setTimeout(show,1000);

这段代码的效果是在1秒后显示hello world,但是如果改成

setTimeOut(show(),1000);

就会立即显示,达不到延时的效果了。但是如果加上引号就可以了。如:

setTimeOut("show()",1000);

就可以了。但是如果带上参数的话,还是不行比如:

setTimeOut("show(name)",1000)

这时就了一个比较的方法,就是再写个函数,该函数返回一个不带参数的函数,具体如下:




<scriptlanguage="javascript">...


function show(name)




...{alert("Hello
World:"+
name);}




function _show(name)




...{


returnfunction()




...{


show(name);


}


}


setTimeout(_show(name),1000);


function


</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: