setTimeout延时带参的函数

来源:互联网 发布:python 画图 编辑:程序博客网 时间:2024/05/18 03:15

如果延时函数设置成这样,将会立刻执行testb(b)函数,并没有延时效果,而如果字符串形式表示“testb(a)"将会报错”testb找不到“。

<script type="text/javascript">

window.onload=testa(4);
function testa(a){
setTimeout(testb(a),10000);

function testb(b){
alert(b);
}
}

</script>

最终的解决方案是再包装一层不带参的函数,就可以达到延时的效果

<script type="text/javascript">
window.onload=testa(4);
function testa(a){
//alert(a);
setTimeout(_testb(a),10000);
function _testb(b){
return function(){
testb(b);
}
}

function testb(b){
alert(b);
}
}
</script>

0 0
原创粉丝点击