真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

jquery的源碼分析,jquery源碼下載

如何正確閱讀jquery源碼和jquery插件源碼

1. jQuery 里面有很多東西是出于兼容性,歷史遺留。

成都網站設計、成都網站建設介紹好的網站是理念、設計和技術的結合。創(chuàng)新互聯(lián)擁有的網站設計理念、多方位的設計風格、經驗豐富的設計團隊。提供PC端+手機端網站建設,用營銷思維進行網站設計、采用先進技術開源代碼、注重用戶體驗與SEO基礎,將技術與創(chuàng)意整合到網站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。

比如 .ready() 之類的函數,為什么會很scroll 有關,那是為了兼容某些ie。這種代碼對于編程思想來說不僅沒用,而且是雜音,你要篩選出來就得了解這段代碼的變動,費心費力得不償失。

2. jQuery 里面的代碼不一定是最優(yōu)的,例如事件委托,每一次事件觸發(fā)都要調用選擇器,實際上是效率很低的。但是我又比較懶,沒有提交patch。

3. jQuery 實際上很容易寫出來一個 barebone alternative,在使用的過程中多想,多思考多總結就可以了。

4. jQuery 這類框架里真正有思維挑戰(zhàn)性的東西不多,一半以上是堆代碼而已,剩下的一點價值在于架構、抽象、擴展能力。

5. 我有一句話與所有的同行分享:工程師讓需求成為現實,優(yōu)秀工程師化復雜為簡單,頂尖工程師變不可能為可能;架構師掌握現在,優(yōu)秀架構師展望未來,頂尖架構師創(chuàng)造時代。

jQuery 的設計目的是,讓前端工程師的工作更簡單更輕松,但它并不適合所有的前端工程師,假如你的目標是成為優(yōu)秀架構師、頂尖架構師的話,你在jQuery里也看不清未來。

jquery源碼 ,jquery選擇器,javascript,正則表達式

quickExpr應該是個二義正則。前半段是:

^[^]*([\w\W]+)[^]*$:我猜測意思是一個簡單的標簽。如$('divnew Div/div')匹配的用法。

后半段是:

^#([\w-]+)$:這個顯然就是id選擇器。-getElementById

注意兩個正則用了|來分隔二義,所以你這里的匹配不成功是正常的。

jquery應該是根據這個quickExpr來判斷

if(match[1]) createNewfragment();....

else if(match[2]) getElementById();

當然這只是個人猜測,沒有細讀jquery源碼。僅做參考

jquery each()源代碼

復制代碼

代碼如下:

//

args

is

for

internal

usage

only

each:

function(

object,

callback,

args

)

{

var

name,

i

=

0,

length

=

object.length,

isObj

=

length

===

undefined

||

jQuery.isFunction(object);

if

(

args

)

{

if

(

isObj

)

{

for

(

name

in

object

)

{

if

(

callback.apply(

object[

name

],

args

)

===

false

)

{

break;

}

}

}

else

{

for

(

;

i

length;

)

{

if

(

callback.apply(

object[

i++

],

args

)

===

false

)

{

break;

}

}

}

//

A

special,

fast,

case

for

the

most

common

use

of

each

}

else

{

if

(

isObj

)

{

for

(

name

in

object

)

{

if

(

callback.call(

object[

name

],

name,

object[

name

]

)

===

false

)

{

break;

}

}

}

else

{

for

(

var

value

=

object[0];

i

length

callback.call(

value,

i,

value

)

!==

false;

value

=

object[++i]

)

{}

}

}

return

object;

},

分析:jquery文檔說

each(callback)作用是以每一個匹配的元素作為上下文來執(zhí)行一個函數。就是用each來遍歷數組,來執(zhí)行同一個方法

這個方法的實現最關鍵的是:call與apply的用法:call(apply)就是將函數的對象的從初始的上下文改為thisObj指向的對象,

就是說用thisObj來代替原來的對象來執(zhí)行方法:call與apply的第一個參數為this指向的對象,而后面的參數都下傳給函數的,

call傳給函數的參數用逗號分隔而apply則為一個數組。

//1.callback.apply(

object[

name

],

args

)

//2.callback.call(

object[

name

],

name,

object[

name

]

)

jQuery源碼分析之實例find和filter方法的區(qū)別七問

filter()過濾DOM元素包裝集,是指操作當前元素集,刪除不匹配的元素,得到一個新的集合

$('div').filter('.div1');//選擇div標簽中class屬性為div1的div元素

find()在當前選中元素的上下文中找到符合條件的后代,返回的是子元素

$('div').find('em');//選擇div標簽中的em標簽的元素

filter()是對選中的元素集合操作,得到這些元素中符合條件的元素,而find()是得到選中元素 中符合條件的后代子元素。


網頁題目:jquery的源碼分析,jquery源碼下載
本文地址:http://weahome.cn/article/phdgcg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部