关于setTimeout的一点事

关于setTimeout的一点事

rekey曾问我的一个问题,关于setTimeout的语法,我想是因为先入为主的原因导致的他的疑问,很多人很多时候,我们是酱紫写的:setTimeout(func,timeTick);其实介个函数还有另外一个形式:setTimeout(sCode,timeTick);介个sCode是一个代码片段,实际上就是一个字符串,字符串里的内容相当于函数体里的代码,我们来看个简单的例子

<script type="text/javascript">
function test(){
alert(/see?/);
}
setTimeout(test,1000);//一般写法
setTimeout("test()",1000);
//这里相当于setTimeout(function(){test();},1000);
setTimeout("alert(/see again?/);",1000);//字符串的内容就是函数体内容
</script>

顺便提一下setTimeout中函数如何传参数,这里用了闭包

<script type="text/javascript">
function para(i){
    return function(){alert(++i);}
}
var i=3;
setTimeout(para(i),1000);
</script>

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.