首先要知道JQuery入口函數和JS入口函數的差別:
差別一: 在頁面中書寫個數不同:
(1)JS的入口函數隻能出現一次, 出現多次會存在後者将前者事件覆寫的問題。
(2)JQuery的入口函數, 可以出現任意多次, 并不存在事件覆寫問題。
差別二:執行時機不同:
(1)JS的入口函數是在所有的檔案資源加載完成後, 才執行。這些檔案資源包括:頁面文檔、外部的JS檔案、外部的CSS檔案、圖檔等。
(2)JQuery的入口函數, 是在文檔加載完成後就執行。 文檔加載指的是:DOM樹加載完成後, 就可以操作DOM了, 不用等到所有的外部資源都加載成功。
Ps: 文檔加載的順序為:從上往下, 邊解析邊執行。
JQuery的入口函數, 有以下幾種寫法:
寫法一:
//文檔加載完畢, 圖檔不加載的時候, 就可以執行這個函數。
<script type="text/javascript">
$(document).ready(function () {
alert("hello");
})
</script>
寫法二:
//文檔加載完畢, 圖檔也加載完畢的時候, 再執行這個函數。
<script type="text/javascript">
$(window).ready(function () {
alert("hello");
})
</script>
寫法三:(寫法一的簡化版):
//文檔加載完畢, 圖檔不加載的時候, 就可以執行這個函數。
<script type="text/javascript">
$(function () {
alert("hello");
})
</script>
原生的JS的入口函數指的是:window.onload = function(){}: 如下所示:
//原生js的入口函數。頁面上所有内容加載完畢, 才執行。
//不僅要等文本加載完畢, 而且要等圖檔也加載完畢, 才執行函數。
<script type="text/javascript">
window.onload = function () {
alert("hello");
}
</script>