第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

定時器函數(shù)為什么不加括號 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()表示函數(shù)的直接調(diào)用,也就是在setTimeout這個函數(shù)沒有執(zhí)行的時候,go()就已經(jīng)執(zhí)行了;這樣的話當(dāng)?shù)谝淮螆?zhí)行g(shù)o()這個函數(shù),并到?setTimeout(go(),interval)這行代碼塊時,go()在setTimeout還沒執(zhí)行時,它就執(zhí)行了,這時go()再次被調(diào)用,而setTimeout沒有執(zhí)行;然后又到了?setTimeout(go(),interval)這行代碼塊,這時go()再次被調(diào)用,而setTimeout還是沒有執(zhí)行,以后一直這樣,直到滿足(speed <0 && parseInt(list.style.left) >newleft || speed > 0 && parseInt(list.style.left) < newleft)這個條件時,?list.style.left = parseInt(list.style.left) + offset + 'px';也就是圖片到達(dá)目的地。所以當(dāng)你?寫成setTimeout(go(),interval)時,你會發(fā)現(xiàn)圖片直接跳轉(zhuǎn),而沒有緩慢的動畫過程,因為setTimeout沒有執(zhí)行過,那就不會有每隔一個interval,位移發(fā)生一點(diǎn)變化直到到達(dá)目的地這回事了,而是直接到達(dá)目的地。

0 回復(fù) 有任何疑惑可以回復(fù)我~

重回答:

?setTimeout(go(),interval);這里的go()表示函數(shù)的直接調(diào)用,也就是在setTimeout這個函數(shù)沒有執(zhí)行的時候,go()就已經(jīng)執(zhí)行了;這樣的話當(dāng)?shù)谝淮螆?zhí)行g(shù)o()這個函數(shù),并到?setTimeout(go(),interval)這行代碼塊時,go()在setTimeout還沒執(zhí)行時,它就執(zhí)行了,這時go()再次被調(diào)用,這時圖片位移發(fā)生變化,由于

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

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

1 回復(fù) 有任何疑惑可以回復(fù)我~

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

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

定時器函數(shù)為什么不加括號 go為什么不加括號

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號