jQuery 部分源碼解析

簡潔的API

$.on
$.css
$.ajax
….

優(yōu)雅的鏈?zhǔn)?/strong>

var  xhr = $.ajax( "./example.php" )
    .done(function() { alert("success"); })
    .fail(function() { alert("error"); })

類CSS的選擇器

$("div, span, p.myClass" )
$("div span:first-child")
...

便捷的操作

$("p").removeClass("myClass noClass").addClass("yourClass");
$("ul li:last").addClass(function(index) {
   return "item-" + index;
});
$('.container').append($('h2'));
…

2、立即調(diào)用表達(dá)式

任何庫或者框架設(shè)計(jì)的第一個(gè)需要考慮的點(diǎn)就是解決命名空間和全局變量污染的問題,jQuery利用了JavaScript函數(shù)作用域的特性,采用立即執(zhí)行函數(shù)包裹了自身的方法來解決這個(gè)問題。

jQuery的立即調(diào)用函數(shù)表達(dá)式的寫法吧
one

(function(window, factory) {
    factory(window)
}(this, function() {
    return function() {
       //jQuery的調(diào)用
    }
}))

簡化它就好了。這里我們可以開始剖解它

//相信這樣大家很容易理解,對啊就是一個(gè)簡單的匿名函數(shù)執(zhí)行函數(shù)的兩種寫法
(function() {
    /*code*/
})()
or
(function() {
    /*code*/
}())

下面我們再看一個(gè)傳參的立即執(zhí)行函數(shù)

(function(a,b) {
    /*code*/
}(c,d))

我們知道在javascript中函數(shù)作為一等公民,我們可以將一個(gè)函數(shù)作為參數(shù)傳入另一個(gè)函數(shù)中

//這里的factory是一個(gè)形參函數(shù)
(function(window, factory) {
    factory(window)
}(this, function() {    
    return function() {
       //jQuery的調(diào)用
    }
}))
//整個(gè)這樣一段就是給上面的匿名函數(shù)傳入第一個(gè)實(shí)參this,第二個(gè)實(shí)參一個(gè)function,并立即執(zhí)行
(this, function() {    
    return function() {
       //jQuery的調(diào)用
    }
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,880評論 0 3
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,886評論 1 45
  • PNG 有PNG8和truecolor PNG PNG8類似GIF顏色上限為256,文件小,支持alpha透明度,...
    hudaren閱讀 1,850評論 0 0
  • 一:什么是閉包?閉包的用處? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 10,067評論 1 52
  • jQuery jQuery是JavaScript世界中使用最廣泛的一個(gè)庫。 jQuery這么流行,肯定是因?yàn)樗鉀Q...
    星騰_范特西閱讀 2,204評論 0 27

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