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>