像vone說(shuō)的 html是按順序加載,從上到下。在執(zhí)行js部分時(shí),會(huì)阻塞后面內(nèi)容的加載。若你的js寫在html內(nèi)容前,定義變量時(shí),如var a = getElementById("btn1"),會(huì)報(bào)錯(cuò):找不到對(duì)象。因?yàn)槟阄醇虞d出后面內(nèi)容,你要的id為btn1的節(jié)點(diǎn)在后面。因此你可以用window.onload解決這個(gè)問(wèn)題:該事件是在文檔加載完畢后執(zhí)行的。
2016-01-16
你可以寫到一塊。分開(kāi)不同文件是方便以后調(diào)用,假如event.js文件里寫的都是常用的封裝好的函數(shù),那么下次需要時(shí)可直接調(diào)用這個(gè)文件;若script.js是只針對(duì)于這個(gè)頁(yè)面有效的js文件,我們就單獨(dú)寫出來(lái),區(qū)別于event.js。
像vone說(shuō)的 html是按順序加載,從上到下。在執(zhí)行js部分時(shí),會(huì)阻塞后面內(nèi)容的加載。若你的js寫在html內(nèi)容前,定義變量時(shí),如var a = getElementById("btn1"),會(huì)報(bào)錯(cuò):找不到對(duì)象。因?yàn)槟阄醇虞d出后面內(nèi)容,你要的id為btn1的節(jié)點(diǎn)在后面。因此你可以用window.onload解決這個(gè)問(wèn)題:該事件是在文檔加載完畢后執(zhí)行的。
若不想這樣,也可以把你的js放在頁(yè)面最后,讓html內(nèi)容先加載,然后再執(zhí)行<script> 也就不必要在window.onload里聲明變量了。
2015-12-14
html是按照順序加載的 不寫在Window.onload中的 document.getelementById可能因?yàn)閔tml的內(nèi)容沒(méi)被加載取不到值