亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

定時器函數為什么不加括號 go為什么不加括號


function go(){
? ?if(speed <0 && parseInt(list.style.left) >newleft || speed > 0 && parseInt(list.style.left) < newleft){
? ? ? ?list.style.left = parseInt(list.style.left) +speed + 'px';
? ? ? ?setTimeout(go,interval);
? ?}else{
? ? ? ?list.style.left = parseInt(list.style.left) + offset + 'px';
? ? ? ?if(parseInt(list.style.left) > -600){
? ? ? ? ? ?list.style.left = -3000 + 'px';
? ? ? ?}
? ? ? ?if(parseInt(list.style.left) < -3000){
? ? ? ? ? ?list.style.left = -600 + 'px';
? ? ? ?}
? ?}
}

正在回答

3 回答

?setTimeout(go(),interval);這里的go()表示函數的直接調用,也就是在setTimeout這個函數沒有執行的時候,go()就已經執行了;這樣的話當第一次執行go()這個函數,并到?setTimeout(go(),interval)這行代碼塊時,go()在setTimeout還沒執行時,它就執行了,這時go()再次被調用,而setTimeout沒有執行;然后又到了?setTimeout(go(),interval)這行代碼塊,這時go()再次被調用,而setTimeout還是沒有執行,以后一直這樣,直到滿足(speed <0 && parseInt(list.style.left) >newleft || speed > 0 && parseInt(list.style.left) < newleft)這個條件時,?list.style.left = parseInt(list.style.left) + offset + 'px';也就是圖片到達目的地。所以當你?寫成setTimeout(go(),interval)時,你會發現圖片直接跳轉,而沒有緩慢的動畫過程,因為setTimeout沒有執行過,那就不會有每隔一個interval,位移發生一點變化直到到達目的地這回事了,而是直接到達目的地。

0 回復 有任何疑惑可以回復我~

重回答:

?setTimeout(go(),interval);這里的go()表示函數的直接調用,也就是在setTimeout這個函數沒有執行的時候,go()就已經執行了;這樣的話當第一次執行go()這個函數,并到?setTimeout(go(),interval)這行代碼塊時,go()在setTimeout還沒執行時,它就執行了,這時go()再次被調用,這時圖片位移發生變化,由于

這個函數沒有返回值或者返回值不是可執行的函數或者其他的代碼,所以只是圖片位移發生變化,setTimeout沒有執行任何函數(也就是說如果這個go函數返回一個函數的話,那么setTimeout就會執行返回那個函數);

然后又到了?setTimeout(go(),interval)這行代碼塊,這時go()再次被調用,接下來情況如上次一樣;以后一直這樣,直到滿足(speed <0 && parseInt(list.style.left) >newleft || speed > 0 && parseInt(list.style.left) < newleft)這個條件時,?list.style.left = parseInt(list.style.left) + offset + 'px';也就是圖片到達目的地。所以當你?寫成setTimeout(go(),interval)時,你會發現圖片直接跳轉,而沒有緩慢的動畫過程,因為setTimeout沒有執行go這個函數過,那就不會有每隔一個interval,位移發生一點變化直到到達目的地這回事了,而是直接到達目的地。

1 回復 有任何疑惑可以回復我~

這樣寫setTimeout(go,interval)和這樣寫setTimeout("go()","interval()")是一樣的?!獋€人見解,僅供參考

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

定時器函數為什么不加括號 go為什么不加括號

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號