亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
這章niubility,精巧
看蒙了,最后找到老師的博客,一下看明白了http://www.cnblogs.com/aaronjs/p/3278578.html#undefined
$.data(body1, 'age', '25');
$.data(body2, 'age', '28');
console.log($.data(body1, 'age'));//25
console.log($.data(body2, 'age'));//28
檢查了$.cache,并沒有“age”屬性,說明在靜態方法中并沒有將$("body")作為dom對象處理,只是按照普通對象的處理方式,附加在jQuery.expando屬性,側面反映了jquery的dom緩存機制
之前的評論說錯了,汗。。。老師沒有舉例為什么靜態方法不會產生覆蓋。PS:靜態方法hasData并不能檢測到實例方法.data()附加的數據。
“前面的第三小節留下了一個疑問:jQuery.data() 與 .data()為什么會有區別?”這句話所指區別在何處?jQuery.data() 與 .data()的值應該都會被覆蓋掉吧。也許老師想說的是運行$("#id").data("xx","yy");$("#id").data("xx","zz");“yy”并不會覆蓋“zz”,這是由于$.fn.init并不是單例模式的。
人走光了,占個坑。
占個坑。。
看這種源碼并不是要求自己全部看懂它,而是讓自己能夠明白這種設計思想,學習一些高級寫法,在生產環境下代碼應該怎么寫才規范
分析的太好了
絕對干貨,一點也不邋遢,如同口嚼奶片,滿嘴醇香
全程一臉懵逼
老師,你的普通話好感人??!
如此牛B 一行代碼 夠研究半天的
deferred.promise()的作用是,在原來的deferred對象上返回另一個deferred對象,后者只開放與改變執行狀態無關的方法(比如done()方法和fail()方法),屏蔽與改變執行狀態有關的方法(比如resolve()方法和reject()方法),從而使得執行狀態不能被改變。
意思是如果返回的是 return dtd,那么我想改變執行狀態,可以這么做dtd.reject(),這樣就改變了執行方法,但是如果 return dtd.promise(),由于dtd.promise()沒有resolve,reject等方法,所以無法從外部改變執行狀態。
defer.promise(obj); 它的作用就是在wait對象上部署Deferred接口。正是因為有了這一行,后面才能直接在obj上面調用done()和fail()。
課程須知
源碼的閱讀不是一蹴而就的,需要大家有一定的功底,比如jQuery的基礎運用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基礎功底,甚至還需要理解常見的設計模式、數據結構等等。當然大家也不要被這些給嚇住了,理解,總是需要一種慢慢的學習過程。
老師告訴你能學到什么?
通過本課程的學習,您可以由淺入深地剖析jQuery庫的設計與實現。 其中我們圍繞的重心: 1、設計理念 2、結構組織 3、接口設計 4、模式運用 5、場景套用

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消