在html的程式碼裡面JS其實可以很隨意地放在任何一個地方,但主要可能會放在這兩個地方
<head>...</head>
之間<body>...</body>
結束之前那到底放在哪一邊才是正確的呢?
<body>...</body>
結束之前我們來看個例子
將script
放在body裡,能夠正常執行並且用一段JS語法將div
裡本來的文字更改為123
,之後會在提到基本的JS API的用法,這邊先知道就可以了。
<script>...</script>
之間
會看到並沒有執行????那是為什麼呢?這邊就要提及一下到底瀏覽器是怎麼解析HTML的了
在一個網頁,當瀏覽器要讀取一份HTML的檔案的時候,是由上而下的去解析,所以在head
裡讀取到script
的時候就會暫停解析網頁並且執行裡頭的語法,因為還尚未解析到body
部分,所以找不到有一個div class="ck"
導致無法正常執行。
然而放在body
結束之前,由於整個DOM都已經解析完成,script
才能順利找到他需要的元素,就會執行成功摟!
那你可能會問但放在head
裡頭會出錯怎麼還會放這邊呢?其實是有辦法成功的,只要我們告訴瀏覽器當整個DOM被解析完成後再來讀取這個script
就OK了!至於怎麼做我們之後會在更詳細的說明!
<head>
還是<body>
?不能說放在那邊才是最好的,但還是能夠說明一下差別
放在<head>
: 瀏覽器看到的時候會先下載JS檔案並提下手邊讀取HTML的工作直到JS整個讀取完畢,這時如果JS量過大可能會造成網頁很卡。
放在<body>
: 先解析玩所有的HTML在讀取JS檔案,但如果是高度依賴JS的網站的話,也可能會造成整體網頁變得緩慢。
今天就講解到這邊,大家明天見!