校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 如何正確閱讀jquery源碼和jquery插件源碼?

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

熱門標簽:做地圖標注可行嗎 遼寧申請400電話怎么收費 百度地圖標注的圖片怎么弄的 購買電銷機器人源碼 機器人電銷新聞 在百度地圖標注 青島企業(yè)電銷機器人 石家莊市關于400電話申請 外呼系統(tǒng)通信主機

我剛好這個月在看jquery源碼,目前看了差不多多半了吧;剛開始的時候,看起來確實很吃力,在這,我推薦你可以在百度去搜索jquey源碼,里面有很多詳細說明jquery源碼的博客系列文章,找一個完整版本,跟隨他們一起,慢慢去看,不要心急,也不要被最開始的困難而嚇倒,只要你慢慢去看,后面會越來越順利,而且你會學到很多以前不知道或者很少想到的東西;

上面啰嗦了幾句,在這,先解決樓主問題;如何才能更快的定位函數(shù)的實現(xiàn)代碼;要解決這個問題,首先必須明白jquery對象api的函數(shù)其實分為兩大類,第一類是全局方法,如“$.ajax”、"$.data"、"$.Callbacks"、“$.attr”等;第二類是元素對象上的方法,如"$('#test').attr"、"$('#test').find";而且由上可以發(fā)現(xiàn),可能兩類中有相同方法名的方法,如上面的“$.attr”與"$('#test').attr",如果通過去查找attr的方法,不一定能夠精確定位到;

其實仔細看源碼可以發(fā)現(xiàn),所有全局方法都是通過“jQuery.extend({ })”的方式綁定上去的;如"$.ajax"則通過下圖方式添加的

而第二類元素對象上的方法則通過“jQuery.fn.extend({ })”的方式添加到元素上以供調用的,如下圖;

所以,如果你需要很快的定位一個api方法的源碼位置,你可以直接通過在源碼中搜索需要搜索的方法名,如“attr:”,然后根據(jù)是“jQuery.fn.extend” 還是 “jQuery.extend” 去確定是全局的方法還是元素上的方法,就可以精確定位源碼位置;

還有一種方式,去github上面源碼,克隆下jquery源碼,在其src文件夾里面,有每個大功能對應的文件夾及js代碼,這樣你就可以通過分析方法屬于哪類里面的方法,然后去找對應文件代碼即可,如下圖,如果需要找“$.attr”方法源碼,則只需要看“attributes”文件夾,里面有attr.js;然后在js代碼里面,根據(jù)上面說的方法(根據(jù)是“jQuery.fn.extend” 還是 “jQuery.extend” ),去區(qū)分到底是全局的attr方法還是元素上面的attr方法的源代碼即可;

閱讀jquery源碼確實是一件比較有挑戰(zhàn)的事情,我看了下,相對比較難的是里面對元素查找部分,即sizzle方法,尤其里面使用閉包進行函數(shù)預編譯部分;在這就不深入說明;但是,當你真正的閱讀完了里面的代碼后,一定會讓你收獲頗豐,希望能夠堅持下去;

標簽:銅仁 茂名 銅仁 西雙版納 廣東 郴州 榆林 蚌埠

巨人網(wǎng)絡通訊聲明:本文標題《如何正確閱讀jquery源碼和jquery插件源碼?》,本文關鍵詞  如何,正確,閱讀,jquery,源碼,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何正確閱讀jquery源碼和jquery插件源碼?》相關的同類信息!
  • 本頁收集關于如何正確閱讀jquery源碼和jquery插件源碼?的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 东至县| 遵义县| 聂荣县| 黄浦区| 新昌县| 平乐县| 阿克| 阿勒泰市| 宜都市| 三亚市| 慈利县| 合水县| 麦盖提县| 越西县| 吴忠市| 密山市| 恭城| 静海县| 博野县| 黄石市| 寿宁县| 鹤庆县| 太保市| 平乡县| 海安县| 光山县| 文安县| 嘉荫县| 石狮市| 包头市| 通榆县| 璧山县| 遂溪县| 定陶县| 山东省| 南岸区| 南充市| 新化县| 静宁县| 多伦县| 杭锦旗|