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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

小白請(qǐng)教一個(gè)關(guān)于setTimeout的問題?

小白請(qǐng)教一個(gè)關(guān)于setTimeout的問題?

一只萌萌小番薯 2019-03-05 17:14:29
1.第一種情況,setTimeout的第一個(gè)參數(shù)寫函數(shù)名,可以正確執(zhí)行,并且函數(shù)執(zhí)行有延遲效果var cards = document.getElementsByClassName('card');    for(let i=0;i<cards.length;i++){        setTimeout(show,1000*i);    }    //動(dòng)畫    function show(){        console.log(new Date());    }2.第二種情況,setTimeout的第二個(gè)參數(shù)函數(shù)帶參數(shù),可以執(zhí)行,但是沒有延遲效果;var cards = document.getElementsByClassName('card');    for(let i=0;i<cards.length;i++){        setTimeout(show(i),1000*i);    }    //動(dòng)畫    function show(i){        console.log(new Date());    }這是為什么呢?帶參數(shù)的寫成這樣就會(huì)有正確的效果setTime(function(){    show(i)},1000*i)求解答
查看完整描述

4 回答

?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

你這個(gè)是把show()的返回值當(dāng)setTimeout的第一個(gè)參數(shù)執(zhí)行
setTimeout(show,1000*i,i);第三個(gè)和之后的都是第一個(gè)參數(shù)的參數(shù)

查看完整回答
反對(duì) 回復(fù) 2019-03-14
?
www說

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊

setTimeout(show(i),1000*i);

setTimeout語句執(zhí)行前,show(i)已經(jīng)被執(zhí)行


setTimeout函數(shù)要求第一個(gè)參數(shù)為一個(gè)函數(shù)


正確的代碼:


    var cards = document.getElementsByClassName('card');

    for(let i=0;i<cards.length;i++){

        setTimeout((function(i){

            return function(){

                show(i);

            }

        }(i)),1000*i);

    }

    //動(dòng)畫

    function show(i){

        console.log(new Date());

    }


查看完整回答
反對(duì) 回復(fù) 2019-03-14
?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

樓上正解,show(i)在setTimeout語句執(zhí)行前已經(jīng)被執(zhí)行了,它已經(jīng)是一個(gè)結(jié)果了,所以setTimeout(show(i),1000i);即為setTimeout(一個(gè)結(jié)果,1000i);
自然是沒有解的,而打印出來的值其實(shí)是show(i)執(zhí)行的結(jié)果,所以自然沒有延時(shí)效果

查看完整回答
反對(duì) 回復(fù) 2019-03-14
?
Qyouu

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊

settimeout(show(),i) 你這表示是執(zhí)行函數(shù).是函數(shù)自己執(zhí)行.而不是定時(shí)器去調(diào)用
settimeout(show,i) 這是調(diào)用函數(shù). 和傳參不傳參一點(diǎn)關(guān)系沒有.

settimeout(function(){

show();

})

這是創(chuàng)建個(gè)函數(shù)去調(diào)用.新創(chuàng)建的函數(shù)被定時(shí)器調(diào)用.所有也會(huì)有延遲.

這就是一個(gè)函數(shù)調(diào)用的問題.仔細(xì)思考就明白了


查看完整回答
反對(duì) 回復(fù) 2019-03-14
  • 4 回答
  • 0 關(guān)注
  • 499 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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