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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript SetTimeout輸入參數的問題

JavaScript SetTimeout輸入參數的問題

胡說叔叔 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í)行時,會直接將Attribute變成redtext,沒有倒計時1000ms(我試過用5000ms,確實沒有倒計時),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); }就可以了。兩個setAttribute分別在倒計時后觸發(fā)。前后兩段代碼的區(qū)別,就是后一段將setAttribute代碼直接封裝到一個函數內。可是setTimeOut的第一個參數,不是既可以是函數,也可以是代碼段碼?
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

根據標準,你確實可以傳入一個回調函數(function)或一個代碼片段(code)作為第一個參數,但是如果是code,你需要用引號包裹起來。

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

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


參考: window.setTimeout | MDN


查看完整回答
反對 回復 2018-10-21
  • 1 回答
  • 0 關注
  • 594 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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