關(guān)于setTimeout引用兩次的理解及注意方法
@adu啊杜同學(xué)的回答沒錯(cuò)。但是有一常見情況。大部分的腳本都是通過外部文件引入的,這種情況用setTimeout就完全沒用了。原因: DOM加載順序: 1.解析HTML結(jié)構(gòu)。 2.加載外部腳本和樣式表文件。 3.解析并執(zhí)行腳本代碼。 4.構(gòu)造HTML DOM模型。 5.加載圖片等外部文件。 6.頁面加載完畢。 由此可見只要script沒有加載完成(設(shè)置了defer和async屬性的除外),DOM就不可能會加載。綜上,要想避免腳本與文檔的關(guān)聯(lián)問題可用以下方法: 1.如果腳本引用位置在文檔結(jié)構(gòu)之上在腳本上設(shè)置defer(延遲)或者async(異步)屬性; 2.將腳本引用位置置于文檔結(jié)構(gòu)以下引用。
2017-08-16
萌新瑟瑟發(fā)抖<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>