第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
注意:javascript中的Array對(duì)象的indexOf()方法,如果要檢索的字符串值沒有出現(xiàn),則該方法返回 -1, 返回-1,返回-1 !??!
once 表示:遍歷完列表后,立即將列表清空。
定義一個(gè)函數(shù)(對(duì)象),該函數(shù)的每一個(gè)實(shí)例內(nèi)部存在一個(gè)數(shù)組,這個(gè)數(shù)組包含了所有觀察者。實(shí)例中的add remove fire等方法都是對(duì)這個(gè)數(shù)組進(jìn)行操作。
‘通過回調(diào)函數(shù)callback返回的ture/false的布爾值結(jié)果就可以來判斷當(dāng)前是否要強(qiáng)制退出循環(huán)’,這樣做的好處:
提高性能
為什么呢?
比如我們要把包含5個(gè)<li>的jQuery對(duì)象中的前三個(gè)li元素隱藏。
兩種方法:
1 $fiveLi.each(function(index,ele){if(index <3){$(ele).hide()}});//這樣會(huì)循環(huán)5次
2 $fiveLi.each(function(index,ele){if(index >= 3){return false} $(ele).hide()}) // 這樣只會(huì)循環(huán)3次
回顧:pushStack做了四件事
1 新建一個(gè)空的jQuery對(duì)象
2 新建的空對(duì)象將參數(shù)(實(shí)際上也是一個(gè)對(duì)象)包含合并
3 將合并后的jQuery對(duì)象的pervObject指向this
4 返回合并后的對(duì)象

再來分析一下eq()的源碼:
eq()首先解析傳入的參數(shù),該不動(dòng)的不動(dòng),該轉(zhuǎn)換的轉(zhuǎn)換;然后調(diào)用pushStack()函數(shù),并將對(duì)應(yīng)的DOM對(duì)象作為參數(shù)傳入,然后將pushStack()函數(shù)返回的jQuery對(duì)象返回。
注意: 返回的jQuery對(duì)象的prevObject已經(jīng)指向了調(diào)用eq()方法的對(duì)象。比如: aObj.eq(0).prevObject-->aObj
pushStack: function( elems ) {
// Build a new jQuery matched element set
var ret = jQuery.merge( this.constructor(), elems );
// Add the old object onto the stack (as a reference)
ret.prevObject = this;
ret.context = this.context;
// Return new jQueryObject
return ret;
}
大家一定要注意:eq() 方法取出來的是 jQuery對(duì)象,而get()取出來的是DOM對(duì)象。
解釋一下這句話(流程解析中的1): ‘因?yàn)閏onstructor是指向構(gòu)造器的,所以這里就等同于調(diào)用jQuery()方法了’
我們知道:
1 jQuery = function(){ return new jQuery.fn.init(); }
2 jQuery.fn = jQuery.prototype = { init:function(){//.....} , constructor:jQuery }
所以 this.constructor() == jQuery()
jQuery對(duì)象是一個(gè)類數(shù)組對(duì)象,注意:類數(shù)組對(duì)象并不是數(shù)組!
至于棧結(jié)構(gòu):則是先進(jìn)后出,F(xiàn)ILO( first in last out ),類似于一個(gè)沒有蓋的木桶,第一次放進(jìn)去的水(假設(shè)不考慮水分子的運(yùn)動(dòng))在最下面,第二次放進(jìn)去的水在第一次放進(jìn)去的水的上面....取水時(shí),先取最后一次放進(jìn)去的水,第一次放進(jìn)去的水反而最后取出來。
1 插件分兩種,一種是靜態(tài)函數(shù): 不用實(shí)例化就可以直接調(diào)用,比如:Math.floor();另一種是實(shí)例方法:只有實(shí)例才能使用,比如: var a = 'hah' ; a.length
2 jQuery.extend() 和 jQuery.fn.extend() 指向的都是同一個(gè)函數(shù),之所以能實(shí)現(xiàn)不同的功能,就死因?yàn)楹瘮?shù)內(nèi)部通過對(duì) this 進(jìn)行判斷進(jìn)而實(shí)現(xiàn)了重載。
3 詳細(xì)的關(guān)于extend()函數(shù)的講解,在我的博客:http://www.cnblogs.com/MnCu8261/p/6039986.html
所以我們?nèi)绻枰準(zhǔn)降奶幚恚恍枰诜椒▋?nèi)部方法當(dāng)前的這個(gè)實(shí)例對(duì)象this就可以了。 課程中的這句話有歧義: 1 像css() hide() addClass() show()等這些方法,直接返回this是沒有問題的。
2 而next() childern() parent() 等這些方法,則需要對(duì)this進(jìn)行處理,然后將處理之后的結(jié)果進(jìn)行返回。
不過,總之,鏈?zhǔn)教幚淼那疤岜仨毷欠椒ㄖ斜仨毞祷匾粋€(gè)或者一些實(shí)例對(duì)象
我覺得叫苦是沒用的,本課程的講解是有前提的----必需熟練掌握javascript基礎(chǔ)知識(shí)!不掌握這些知識(shí)肯定看不懂,其次,我們還要對(duì)面向?qū)ο?,插件編寫等有一定的了解,否則我們只能讀懂代碼,但不清楚:為啥要這樣做?如果用那樣的方式不是會(huì)更簡單嗎?這么繞來繞去有啥用? 再就是,即使我們能做到以上兩點(diǎn),我們就能游刃有余的學(xué)習(xí)這門課程了么?我只能說:騷年,圖樣圖私募跑! 我們需要反復(fù)閱讀本課程,很多東西需要我們反復(fù)思考才能理解,才能查漏補(bǔ)缺。
js中的面向?qū)ο筮@一塊不熟悉的,可以看我的博客:http://www.cnblogs.com/MnCu8261/p/5965397.html
我做了將近兩年的前端,看著還是感覺費(fèi)勁
在javascript的世界中一共有四種上下文調(diào)用方式:方法調(diào)用模式、函數(shù)調(diào)用模式、構(gòu)造器調(diào)用模式、apply調(diào)用模式。我要分別解釋一下:
方法調(diào)用模式: 類似于foo.bar(),函數(shù)作為一個(gè)對(duì)象的方法出現(xiàn),this指向foo。
函數(shù)調(diào)用模式:類似于bar(),函數(shù)單獨(dú)出現(xiàn),this指向window
構(gòu)造器調(diào)用模式:類似于 var foo = new bar(),this指向new bar()返回的對(duì)象。
apply調(diào)用:類似于bar.apply(object),this指向object
課程須知
源碼的閱讀不是一蹴而就的,需要大家有一定的功底,比如jQuery的基礎(chǔ)運(yùn)用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基礎(chǔ)功底,甚至還需要理解常見的設(shè)計(jì)模式、數(shù)據(jù)結(jié)構(gòu)等等。當(dāng)然大家也不要被這些給嚇住了,理解,總是需要一種慢慢的學(xué)習(xí)過程。
老師告訴你能學(xué)到什么?
通過本課程的學(xué)習(xí),您可以由淺入深地剖析jQuery庫的設(shè)計(jì)與實(shí)現(xiàn)。 其中我們圍繞的重心: 1、設(shè)計(jì)理念 2、結(jié)構(gòu)組織 3、接口設(shè)計(jì) 4、模式運(yùn)用 5、場景套用

微信掃碼,參與3人拼團(tuán)

微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對(duì)慕課網(wǎng)的支持!

本次提問將花費(fèi)2個(gè)積分

你的積分不足,無法發(fā)表

為什么扣積分?

本次提問將花費(fèi)2個(gè)積分

繼續(xù)發(fā)表請(qǐng)點(diǎn)擊 "確定"

為什么扣積分?

舉報(bào)

0/150
提交
取消