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

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

JavaScript SetTimeout輸入?yún)?shù)的問題

JavaScript SetTimeout輸入?yún)?shù)的問題

胡說叔叔 2018-09-14 14:09:25
有一段html的小代碼,如下:function init(){    var planet=document.getElementById("greenplanet");     planet.innerHTML="RED ALERT: hit by phaser fire!"     setTimeout(planet.setAttribute("class","bluetext"),1000);     setTimeout(planet.setAttribute("class","redtext"),2000);然而,這樣執(zhí)行時(shí),會(huì)直接將Attribute變成redtext,沒有倒計(jì)時(shí)1000ms(我試過用5000ms,確實(shí)沒有倒計(jì)時(shí)),bluetext這一句也沒有執(zhí)行。我試著將代碼改成:function init2(){    var planet=document.getElementById("greenplanet");     planet.innerHTML="RED ALERT: hit by phaser fire!";    function a(){         planet.setAttribute("class","bluetext");     }    function b(){         planet.setAttribute("class","redtext");     }     setTimeout(a,1000);     setTimeout(b,2000); }就可以了。兩個(gè)setAttribute分別在倒計(jì)時(shí)后觸發(fā)。前后兩段代碼的區(qū)別,就是后一段將setAttribute代碼直接封裝到一個(gè)函數(shù)內(nèi)??墒莝etTimeOut的第一個(gè)參數(shù),不是既可以是函數(shù),也可以是代碼段碼?
查看完整描述

1 回答

?
梵蒂岡之花

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

根據(jù)標(biāo)準(zhǔn),你確實(shí)可以傳入一個(gè)回調(diào)函數(shù)(function)或一個(gè)代碼片段(code)作為第一個(gè)參數(shù),但是如果是code,你需要用引號(hào)包裹起來。

function setTO() {
  setTimeout("console.log(100)", 10000)
}// 10s后打印100

另外,建議不要傳入code型的參數(shù),理由和eval一樣。


參考: window.setTimeout | MDN


查看完整回答
反對(duì) 回復(fù) 2018-10-21
  • 1 回答
  • 0 關(guān)注
  • 598 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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