本文轉載自:https://blog.csdn.net/chengjianghao/article/details/85165338
- 在HTML body部分中的JavaScripts會在頁面加載的時候被執行。
-
在HTML head部分中的JavaScripts會在被調用的時候才執行。
-
一、區別
-
瀏覽器解析html是從上到下的。
-
如果把javascript放在head里的話,則先被解析,但這時候body還沒有解析,所以會返回空值。一般都會綁定一個監聽,當全部的html文檔解析完之后,再執行代碼:
-
windows.onload=function(){
-
//這里放入執行代碼
-
}
-
說明:
-
放在head中的JS代碼會在頁面加載完成之前就讀取,而放在body中的JS代碼,會在整個頁面加載完成之后讀取。
-
這就說明了,如果我們想定義一個全局對象,而這個對象是頁面中的某個按鈕時,我們必須將其放入body中,道理很明顯:如果放入head,那當你定義的時候,那個按鈕都沒有被加載,可能獲得的是一個undefind。
-
——————————————————————————
-
二、JavaScript應放在哪
-
頁面中的JavaScript會在瀏覽器加載頁面的時候被立即執行,有時候我們想讓一段腳本在頁面加載的時候執行,而有時候我們想在用戶觸發一個事件的時候執行腳本。
-
1)head 部分中的腳本: 需調用才執行的腳本或事件觸發執行的腳本放在HTML的head部分中。當你把腳本放在head部分中時,可以保證腳本在任何調用之前被加載。
-
<html>
-
<head>
-
<script type=”text/javascript”>
-
…
-
</script>
-
</head>
-
2)body 部分中的腳本: 當頁面被加載時執行的腳本放在HTML的body部分。放在body部分的腳本通常被用來生成頁面的內容。
-
<html>
-
<head>
-
</head>
-
<body>
-
<script type=”text/javascript”>
-
…
-
</script>
-
</body>
-
3)body 和 head 部分可同時有腳本:文件中可以在body和head部分同時存在腳本。
-
<html>
-
<head>
-
<script type=”text/javascript”>
-
…
-
</script>
-
</head>
-
<body>
-
<script type=”text/javascript”>
-
…
-
</script>
-
</body>
-
4)外部腳本的使用
-
有時候你可能想在幾個頁面中運行同樣的腳本程序, 而不需在各個頁面中重復的寫這些代碼。這時你就要用到外部腳本。你可以把腳本寫在一個外部文件中,保存在擴展名為 .js的文件中。
-
注意:外部腳本文件中不要包含標記符 <script>
-
使用外部腳本時將標記符 <script> 的“src”屬性值指向相應的.js文件就可以了:
-
<html>
-
<head>
-
<script src=”xxx.js”></script>
-
</head>
-
<body>
-
</body>
-
</html>