日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

HTML里的哪一部分Javascript 会在页面加载的时候被执行?

發(fā)布時間:2025/3/18 HTML 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTML里的哪一部分Javascript 会在页面加载的时候被执行? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近遇到一個問題:
HTML里的哪一部分Javascript 會在頁面加載的時候被執(zhí)行()
A : 文件頭部

B : 文件尾

C : <head>標簽部分

D : <body>標簽部分

雖然大家都知道選D,但是關(guān)于答案的解析眾說紛紜,由此可見大家對于瀏覽器的加載解析渲染還是不夠了解。

瀏覽器是從上到下依次加載并解析的。

當瀏覽器加載html文件并解析到<head>時,頁面也就是<body>并沒有被解析,瀏覽器會等到<head>中的js執(zhí)行完再加載頁面。

這是為什么呢?

原因:JS有可能會修改DOM,最為經(jīng)典的document.write,這意味著,在JS執(zhí)行完成前,后續(xù)所有資源的下載可能是沒有必要的,這是js阻塞后續(xù)資源下載的根本原因。

示例代碼:

<!DOCTYPE html> <html> <head><title></title><script type="text/javascript">console.log('this is head js ');</script><script type="text/javascript" src='test.js'></script><style type="text/css">body{color: red;}</style> </head> <body> <script type="text/javascript">console.log('this is body js');window.οnlοad=function(){console.log('this is onload js');}; </script> <p >this is body</p> </body> </html>

輸出:

?

?

this is head js?
this is test js
this is body js
this is onload js

?

由此可見head和頭部引進的script腳本最先加載并執(zhí)行,而onload是最后執(zhí)行的,所以處于<body>和</body>中的元素是在頁面加載的時候被執(zhí)行的。

了解這個有什么用呢?

假如說你把DOM操作放在了<head>標簽里,你會發(fā)現(xiàn)報錯,這是因為DOM樹還沒建立,getElementById獲取的是undefined。

所以說最好把<script>放在</body>之前。

轉(zhuǎn)載于:https://www.cnblogs.com/aliyunpang/p/9088202.html

總結(jié)

以上是生活随笔為你收集整理的HTML里的哪一部分Javascript 会在页面加载的时候被执行?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。