moving = setInterval(on_move,10);中寫成moving = setInterval(on_move(),10)為什么會不對呢?

showonne
2014-10-20
2 回答
舉報
0/150
提交
取消
2014-10-20
setInterval( ?Function , Time ?)
第一個參數要求是一個函數。
on_move 是一個變量,之前應該是設置了 ?on_move = function(){ } , 所以 on_move ?是一個函數。
但是 on_move() 是執行一個函數,得到一個反回值。如果返回值是一個函數的話就沒有問題。
?》》》》》
所以?
moving = setInterval(on_move(),10)
的執行結果是:
1. on_move() 執行一次,返回 undefined。
2. setInterval 循環執行,咿~ undefined 不是一個函數哎~ ,果斷報錯,繼續第二步。
2014-10-20
得到一個返回值