js入口函式與jQuery入口函式
阿新 • • 發佈:2021-07-10
js入口函式(視窗載入事件)
第一種:當文件內容完全載入完成後觸發的事件(包括影象、指令碼檔案、CSS檔案等),就呼叫的處理函式
window.onload = function() {}//推薦使用 或者
window.addEventListener("load", function() {})
第二種:僅當DOM載入完成,不包括樣式表、圖片、flash等等
window.addEventListener("DOMContentLoaded", function() {})
【注意】
1、有了視窗(頁面)載入事件,就可以把js程式碼寫到頁面元素代買的上方,因為等頁面內容全部載入完畢才去執行處理函式
2、window.onload傳統註冊事件方式只能寫一次,如果有多個,會以最後一個window.onload為準,但如果使用addEventListener則沒有限制。
<script> window.onload = function() { console.log("onload_1"); }//第一個載入事件將不被執行 window.onload = function() { console.log("onload_2"); } </script>
執行結果如下
3、如果頁面的圖片很多的話,從使用者訪問到onload觸發可能需要較長時間,互動效果就不能實現,必然影響使用者的體驗,此時用DOMContentLoaded事件比較合適
4、DOMContentLoaded是DOM載入完畢,不包含圖片、圖片、flash等等就可以執行,載入速度比load更快一些。
如下列程式碼的執行順序
//書寫順序如下:
<script> window.addEventListener("load", function() { alert('load_1'); }) window.addEventListener("load", function() { console.log('load_2'); }) window.addEventListener("DOMContentLoaded", function() { alert('DOMContentLoaded_3'); }) </script>
//執行順序如下
jQuery的入口函式
$(function(){ ……//此處是頁面DOM載入完成的入口 })$(document).ready(function(){ ……//此處是頁面DOM載入完成後的入口 })
或者
【注意】
1、等著DOM結構渲染完畢即可執行的程式碼,不必等到所有外部資源載入完成,jQuery幫我們完成了封裝,相當於原生js的DOMContentLoad