日韩亚洲欧美在线com|日本xxxx色视频在线播放|国产熟妇与子伦hd|欧美freesex黑人又粗又大|国产欧美日韩一区二区三区

jQuery的功能:

    我們?nèi)粘J褂胘avascript干的最多的事情也就是

        1.查找DOM節(jié)點

        2.然后再對查找到的節(jié)點進行操作,例如修改樣式 添加事件監(jiān)聽 修改內(nèi)容等。

   而jQuery框架的功能就是根據(jù)傳遞進來的參數(shù)賽選DOM節(jié)點,將DOM節(jié)點數(shù)組封裝成jQuery對象.然后對這個 jQuery對象進行操作。  

jQuery框架的總體架構(gòu):

 
(function (window,undefined){
    //jQuery的源碼
})(window)

    可以看到這里使用了一個匿名函數(shù)將所有源碼進行了封裝,這樣有以下幾個好處:

1. 可以防止命名沖突 里面定義的變量不會給外面的矛盾。

        2. 可以實現(xiàn)私有變量和私有方法,只將提供給外界的公共接口暴露出來。 

 

 jQuery對象的創(chuàng)建:

由上面的講解可知所有的功能都是建立在jQuery對象的基礎(chǔ)之上的所以我們首先來看一下這個對象的構(gòu)建:

 
 
var jQuery = function( selector, context ) {
return new jQuery.fn.init( selector, context );
},

    這里我們可以看到其實jQuery對象就是jQuery.fn.init對象,在init方法里面完成了jQuery對象的創(chuàng)建。這個方法的作用就是根據(jù)接受的字符串創(chuàng)建一個jQuery對象,其實這個對象就是一個DOM節(jié)點集合的數(shù)組。

 
//有定義了兩個變量可以在多框架時使用
_jQuery = window.jQuery,
_$ = window.$,
//將jQuery對象提供給外界使用
window.jQuery = window.$ = jQuery

 

   jQuery對象的擴展機制:

      創(chuàng)建了jQuery對象接下來就是要對對象進行方法擴展了。jQuery中有兩種類型的方法,一種是jQuery的靜態(tài)方法還有一種是類的實例方法。

 
jQuery.fn.init.prototype = jQuery.fn;//這樣我們要給jQuery擴展實例方法直接在jQuery.fn上面添加即可。

     接著定義了extend方法: 用來擴展jQuery對象。

 
jQuery.extend = jQuery.fn.extend = function(){
   /*
        基本思路 使用for  in循環(huán)遍歷每一個屬性進行拷貝。
   */
}

     從上面的方法可以看出

        jQuery.extend()是給類擴展靜態(tài)方法

        jQuery.fn.extend()是給類擴展實例方法

 

   jQuery庫的擴展:

 

       上面這些準(zhǔn)備工作都做完之后接著就是要對jQuery對象進行擴展了,對于jQuery的擴展可以分為以下幾個模塊:

           核心模塊  :  

               1. 對jQuery對象進行操作的一些方法,因為jQuery對象實際是一個數(shù)組所以就是添加了一些數(shù)組的常用方法.。 例如:  size()  get()  first()  last()  slice()  map()等。

               2. 緩存系統(tǒng)

                   用來給DOM節(jié)點上存貯數(shù)據(jù)的。方法有data()  removeData()兩個方法。具體實習(xí)實現(xiàn)參考后面的文章。

               3. 隊列系統(tǒng)   

                   這幾個方法主要用來實現(xiàn)動畫模塊,方法有queue()  dequeue()  clearQueue().

           工具類模塊  : 

               這部分主要提供了一些工具方法例如對字符串的處理,數(shù)組的處理,瀏覽器特性的一些測試等。

           事件處理模塊  :

                  jQuery對于事件的處理方式是: 創(chuàng)建了一個Event構(gòu)造函數(shù)用來生成 事件對象 ,這個對象是在 W3C event對象基礎(chǔ)上建立的,并且屏蔽了瀏覽器之間的差異。還定義了一個event對象 里面添加 了一些常用的對事件處理的方法 例如事件綁定 解綁  事件觸發(fā) 等這些方法使用的都是Event構(gòu)造函 數(shù)創(chuàng)建出來的對象。有了這個event對象 接下來就是利用each方法和extend方法jquery.fn這個對象添加一些事件監(jiān)聽器。內(nèi)部都是調(diào)用了event的方法。

     動畫模塊   : 包括CSS選擇器模塊、 DOM操作模塊。

 

主站蜘蛛池模板: 男人猛躁进女人免费播放| 一区二区日本激情| 五码日韩精品一区二区三区视频| 无码高潮少妇多水多毛| 男人的天堂av高清在线| av中文无码乱人伦在线观看| 少妇夜av一区| 国产欧美亚洲精品第一区软件| 成年美女黄的视频网站| 久久99精品久久久久久动态图| 极品无码人妻巨屁股系列| 色婷婷在线视频一区| 26uuu另类亚洲欧美日本| 国产主播在线观看一区二区三区| 国产av综合影院| 日本最新免费二区| 四虎精品成人免费视频| 国产av在线www污污污十八禁| 少妇人妻av毛片在线看| 国产做a爰片久久毛片a片美国| 少妇无码av无码去区钱| 77777熟女视频在线观看| 91香蕉福利一区二区三区| 色狠狠色噜噜av一区| 国产熟女一区二区三区五月婷 | 黄色影院一区二区在线观看| 国偷自产av一区二区三区| 亚洲欧洲日韩综合久久| 欧美人与性动交α欧美精品| 插我一区二区在线观看| 亚洲国产成人无码av在线播放| 国产亚洲精久久久久久无码77777| 中文国产成人精品久久不卡| 亚洲精品久久久久午夜福利| 国产亚洲人成在线播放| 国产美女高潮一区二区三区| 国产美女精品视频线播放| 国产精品99久久久精品无码| 亚洲国产精品美女久久久久| 亚洲人成无码网www| 豆国产96在线 | 亚洲|