jQuery隨筆

FreeeLinux發表於2017-07-14

window.onload和jQuery入口函式的區別:
window.onload事件是等到所有內容,以及我們的外部圖片之類的檔案都載入完了之後,才會去執行。jQuery的入口函式是在html所有標籤都載入之後,才會去執行。

使用原聲js模擬jQuery入口函式:

    var iQuery = function(dom) {
        return {
            ready: function(func) {
                //func();
                // 1. document.onload 有沒有被賦值(或者說有沒有這個事件)
                // 1. 有:接收一下舊的函式,然後先去呼叫新的函式,接著再呼叫舊的函式
                // 2. 沒有:直接賦    <script type="text/javascript">
                if (typeof dom.onload === 'function') {
                    var oldFunc = dom.onload;
                    dom.onload = function() {
                        func();
                        oldFunc();
                    };
                } else {
                    dom.onload = func;
                }
            }
        };
    };
    iQuery(window).ready(function() {
        alert('第一次呼叫');
    });
    iQuery(window).ready(function() {
        alert('第二次呼叫');
    });