步入前端一年了徘意。
在我的腦海中苔悦,setTimeout,的用法應(yīng)該是這樣的:setTimeout(code,millisec);
code:要調(diào)用的函數(shù)后要執(zhí)行的 JavaScript 代碼串椎咧。
millisec:在執(zhí)行代碼前需等待的毫秒數(shù)玖详。
一直以來,我都認(rèn)定setTimeout的參數(shù)只能是兩個(gè)勤讽。
直到蟋座,今天我看到這段setTimeout(resolve, ms, 'done');我瞬間懵逼了。這第三個(gè)參數(shù)是怎么回事脚牍。我以為是es6新添加的向臀。然后上網(wǎng)查資料,發(fā)現(xiàn)es6根本沒有添加這個(gè)诸狭,顯然是之前就存在的一種用法券膀。
于是,我開始思考驯遇,猜測第三個(gè)參數(shù)就是resolve的參數(shù)的值芹彬。
于是,我寫了這么一段代碼叉庐。
setTimeout(function(value){
console.log(value);
},1000,'新年快樂');
控制臺輸出雀监,‘新年快樂’;
事實(shí)證明,我的想法是正確的眨唬。
于是我又想会前,四個(gè)參數(shù)呢。
setTimeout(function(value1匾竿,value2){
console.log(value1,value2);
},1000,'2017','新年快樂');
控制臺成功輸出瓦宜,‘2017新年快樂’。
總結(jié):
setTimeout的完整形式應(yīng)該是這樣的:setTimeout(code,millisec,a1,a2,...);其中岭妖,code,,illisec是必須的临庇。其余參數(shù)依次是需要執(zhí)行函數(shù)的參數(shù)反璃。