日韩亚洲欧美在线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操作模塊。

 

主站蜘蛛池模板: 国产人久久人人人人爽| 午夜国产www一区三区| 中文字幕中文乱码www| 国产一区内射最近更新| 国产无人区码一码二码三mba| 久久精品无码一区二区软件| 亚洲国产精品自产在线播放 | 人妻夜夜添夜夜无码av| 国产成人av一区二区三区不卡| ww久久综合久中文字幕| 欧美黑人巨大久久久精品一区| 日本一区精品久久久久| 秋霞国产午夜伦午夜福利片| 黑人一区精品视频| 国产日韩精品aⅴ一区二区 | 欧洲 日韩一区| 日本视频在线看一区二区三区| 夜夜爽妓女8888视频免费观看| 99久久国产综合精品五月天| 亚洲色欲色欲综合网站sw0060| 成·人免费午夜视频香蕉| 一区二区三区毛片免费| 欧美顶级少妇作爱| 韩国视频在线一区| 亚洲一区二区婷婷久久| 国产精品推荐手机在线| 无码人妻丰满熟妇a片护士| 五月婷婷一区二区三区| 48久久国产精品性色aⅴ人妻| 精品视频一区二区三三区四区 | 精品国产一区在线| 欧美日韩在线精品一区二区三区激情福利综合 | 久久99精品久久久久久齐齐| 视频一区二区三区在线观看| 精品人妻一区二区三区久久动漫| 四虎精品一区永久在线观看| 麻豆一区二区在我观看| 欧美一区二区新| 无码专区无码专区视频网址| 成人av一区二区三区在线| 精品人妻码一区二区三区|