Java程式員的JavaScript學習筆記(8——jQuery選取器)

來源:互聯網
上載者:User

Java程式員的JavaScript學習筆記(8——jQuery選取器)

計劃按如下順序完成這篇筆記:

1. 理念。
2. 屬性複製和繼承。
3. this/call/apply。
4. 閉包/getter/setter。
5. prototype。
6. 物件導向類比。
7. jQuery基本機制。
8. jQuery選取器。
9. jQuery工具方法。
10. jQuery-在“類”層面擴充。
11. jQuery-在“對象”層面擴充。
12. jQuery-延伸選取器。
13. jQuery UI。
14. 擴充jQuery UI。

這是筆記的第8篇,聊聊jQuery的選取器。

 

 

 

最近工作上的事情很忙,有幾天沒有更新筆記了。
終於今天又抽空能安靜下來寫點東西。
爪機離線,全憑記憶,今天的筆記沒有代碼了。
好在對jQuery選取器,大家熟練使用即可,理解其原理的必要性不是特別大,除非自己需要實作類別似的功能,或者需要擴充jQuery的選取器。

Topic 1:選取器的四種類型
其實是傳入$()函數的四種參數類型,分別是:
* Dom對象,識別方法是有nodeType屬性。
* 字串:字串的話分兩種情況,有可能是css選取器運算式,有幾個Regex匹配;也有可能是個html字串。
* 數組,這個,是不是只有jQuery自己clone,pushStack時這樣用?
* 函數,即常用的$(function(){ /* my code here */ })。

Topic 2:jQuery是怎樣儲存尋找到的對象的?
用 this[0],this[1]這種方式,可以理解為內部的儲存結構是數組。

Topic 3:find方法是如何?的?
在看源碼之前,我也覺得這個好神奇,瀏覽器應該只給提供了document.getElementById/Name/Tag之類的。一直猜測jQuery和瀏覽器廠商有一腿,回頭一想,不太可能,不可能跟每個瀏覽器廠商都有一腿。
看源碼後,發現:真的就是在document.getElementById/Name/Tag基礎上配合合理的演算法實現的。
“傻”辦法不傻,其他人還在猶豫行不行的時候,人家已經做出來了。
大致分兩步,先定位,縮小範圍;然後過濾。

好了,今天就到這裡吧。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.