<script>放在head内和body内有什么区别
加載的順序不一樣,你可以把HTML看成從上往下加載的。
例如在網速慢的情況下把js代碼放到body底部用戶會先看到網頁結構,等js加載完成后才出現特效。
區別簡述:
在HTML body部分中的JavaScripts會在頁面加載的時候被執行。
在HTML head部分中的JavaScripts會在被調用的時候才被執行,但是在主頁和其余部分代碼之前預先裝載。
1.JavaScript應放到哪里
head 部分中的腳本: 需調用才執行的腳本或事件觸發執行的腳本放在HTML的head部分中。當你把腳本放在head部分中時,可以保證腳本在任何調用之前被加載,
從而可使代碼的功能更強大; 比如對*.js文件的提前調用。 也就是說把代碼放在<head>區在頁面載入的時候,就同時載入了代碼,你在<body>區調用時就不需要再載入代碼了,速度就提高了,這種區別在小程序上是看不出的,當運行很大很復雜的程序時,就可以看出了。
| <html> <head> <script type=”text/javascript”> …. </script> </head> |
body 部分中的腳本: 當頁面被加載時立即執行的腳本放在HTML的body部分。放在body部分的腳本通常被用來生成頁面的內容。
| <html> <head> </head> <body> <script type=”text/javascript”> …. </script> </body> |
body 和 head 部分可同時有腳本:你可在文件中放無數的腳本,因此你的文件中可以在body和head部分同時存在腳本。
| <html> <head> <script type=”text/javascript”> …. </script> </head> <body> <script type=”text/javascript”> …. </script> </body> |
2.如果把javascript放在head里的話,則先被解析,但這時候body還沒有解析。
(常規html結構都是head在前,body在后)如果head的js代碼是需要傳入一個參數(在body中調用該方法時,才會傳入參數),并需調用該參數進行一系列的操作,那么這時候肯定就會報錯,因為函數該參數未定義(undefined)。
3.從JavaScript對頁面下載性能方向考慮:由于腳本會阻塞其他資源的下載(如圖片等)和頁面渲染,直到腳本全部下載并執行完成后,頁面的渲染才會繼續,因此推薦將所有的<script>標簽盡可能放到<body>標簽的底部,以盡量減少對整個頁面下載的影響。
總結
以上是生活随笔為你收集整理的<script>放在head内和body内有什么区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决An error occured w
- 下一篇: JS实现数组去重(重复的元素只保留一个)