推 peanut97: setTimeout第一個參數是函數,時間到會執行函數的內容 09/15 21:37
→ peanut97: 至於直接把 console.log(2)這種敘述當函數放進去... 09/15 21:38
→ peanut97: 我就不知道了。 求解+1 09/15 21:38
→ lachtchlee: setTimeout(console.log(2),1000); 09/15 22:25
→ lachtchlee: console.log(7); 09/15 22:26
→ lachtchlee: //output: 2 7 故it is not a callback 09/15 22:31
→ lachtchlee: setTimeout(function(){console.log(2)},1000); 09/15 22:32
→ lachtchlee: setTimeout(function(){console.log(2)},1000); 09/15 22:33
→ lachtchlee: console.log(7); //output 7 2 2 there are two cbs 09/15 22:37
→ xdraculax: test = function(){ 09/15 23:30
→ xdraculax: print 2; 09/15 23:31
→ blues520520: 我知道他沒有等一秒後才執行,而是立即顯示,不懂錯 09/15 23:31
→ blues520520: 誤寫法還能正常執行出來,不會報錯 09/15 23:31
→ xdraculax: return void(); 09/15 23:31
→ xdraculax: } 09/15 23:31
→ xdraculax: setTimeout(test,1000); 09/15 23:32
→ xdraculax: 那錯誤寫法就像這種效果,不知道這樣你是否比較好懂@@ 09/15 23:33
→ xdraculax: 上面錯了,應該是 setTimeout(test(),1000); 09/15 23:36
→ xdraculax: 丟入 setTimeout 的是 function 跑完後返回的結果而不 09/15 23:36
→ xdraculax: 是 function 本身 09/15 23:36
→ lachtchlee: 原po 你懂run to completion嗎?希望你再仔細看看上文! 09/15 23:45
→ blues520520: 謝謝各位解釋 09/16 13:56
→ y3k: 這問題就好像別人預期要你放把麵包放到烤麵包機裡面送過去 09/16 22:29
→ y3k: 但是你卻把烤好的麵包送了過去XD 09/16 22:29
推 VdustR: mdn 有寫啊... 09/17 14:56