javascript – 搞不清楚的 setTimeout 括號夾帶參數問題
一般情況下,setTimeout (函數名稱, 時間);
如果要執行的函數需要傳值進去,需要使用匿名函數如:
setTimeout ( function(){ //要執行的函數名稱放在這裡 }, 時間);
範例:
要執行 run() 就使用 => setTimeout( run, 1000 ) ;
要執行 run('abcd') 就使用 => setTimeout( function(){ fun('abcd') }, 1000 );
網友的註釋(from
http://topic.csdn.net/u/20120517/14/db737c66-a409-4966-8317-24341a11340c.html?seed=324595260&r=78594164 ):
setTimeout(function(){a2('sss1')},3000); //傳遞一個js函數供定時器執行
setTimeout("a2('sss2')",5000); //直接傳遞js語句供定時器執行;
setTimeout("a2();alert('123');",5000);//這也是合法的,第二種方式和這個是一個道理也就是說setTimeOut第一個參數可以有兩種類……