正常情況下 js定時器應該是setTimeout(fn1,3000);或setInterval(fn1,3000);
function fn1(str){
alert(111);
}
但是當我們需要用到參數時:
1、
通過加引號方式setTimeout("fn1(str)",3000);
這種是最簡單的但是也是功能最不全的,一個是因為對於其setTimeout("fn1(str)",3000);str如果必須是window對象否則會報錯。
2、
通過閉包的形式
這種功能已經基本都具備:
function fn(_str){ alert(str); } function _fn(str){ return function(){ fn(str); } } setTimeout(__fn(str),3000);
unction fn(_str){ alert(str); } function _fn(str){ return function(){ fn(str); } } setTimeout(__fn(str),3000);
3.第三種方法是使用定時器的第三個,第四個,.........參數,不知道為什么w3c教程的參數列表中沒提到
setTimeout(fn,100,參數1,參數2.......)