06-jQuery原理

jQuery基本結(jié)構(gòu)

  • jQuery的本質(zhì)是一個閉包
  • jQuery為什么使用閉包來實現(xiàn):為了避免多個框架的沖突
  • jQuery如何讓外界訪問內(nèi)部定義的局部變量:window.xxx = xxx;
  • jQuery為什么要給自己傳遞一個window參數(shù):為了方便后期壓縮代碼和提升查找的效率
  • jQuery為什么要給自己接收一個undefined參數(shù):為了方便后期壓縮代碼,IE9以下的瀏覽器undefined可以被修改,為了保證內(nèi)部使用的undefined不被修改,所以需要接收一個正確的undefined

jQuery入口函數(shù)

  • 傳入 '' null undefined NaN 0 false,返回空的jQuery對象
  • 字符串:
    • 代碼片段:會將創(chuàng)建好的DOM元素存儲到j(luò)Query對象中返回
    • 選擇器:會將找到的元素存儲到j(luò)Query對象中返回
  • 數(shù)組:會將數(shù)組中存儲的元素依次存儲到j(luò)Query對象中返回
  • 除上述類型以外的:會將傳入的數(shù)據(jù)存儲到j(luò)Query對象中返回

真?zhèn)螖?shù)組轉(zhuǎn)換

  • apply和call方法的作用
    • 專門用于修改方法內(nèi)部的this
    • call(對象,參數(shù)1,參數(shù)2,...);
    • apply(對象,[數(shù)組]);
  • 真數(shù)組轉(zhuǎn)偽數(shù)組:[].push.apply(obj,arr);
  • 偽數(shù)組轉(zhuǎn)真數(shù)組:[].slice.call(obj);

函數(shù)處理

  • onload事件會等到DOM元素加載完畢,還會等到資源也加載完畢才會執(zhí)行

  • DOMContentLoaded事件只會等到DOM元素加載完畢就會執(zhí)行回調(diào)(不支持IE8及以下)

    //判斷DOM是否加載完畢
    if (document.readyState == "complete") {
        fn();
    }else if (document.addEventListener) {
        document.addEventListener("DOMContentLoaded",function () {
            fn();
        })
    }else {
        document.attachEvent("onreadystatechangge",function () {
            if(document.readyState == "complete") {
                fn();
            }
        })
    }
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概要 64學(xué)時 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,851評論 0 3
  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化,入門級到專家級,廣度和深度都會有所增加。 題目類型: 理論知...
    怡寶丶閱讀 2,683評論 0 7
  • PNG 有PNG8和truecolor PNG PNG8類似GIF顏色上限為256,文件小,支持alpha透明度,...
    hudaren閱讀 1,834評論 0 0
  • 請參看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon閱讀 7,764評論 2 19
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計者無需花費時間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,503評論 0 2

友情鏈接更多精彩內(nèi)容