1. 程式人生 > 其它 >js入口函式與jQuery入口函式

js入口函式與jQuery入口函式

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