看蒙了,最后找到老師的博客,一下看明白了http://www.cnblogs.com/aaronjs/p/3278578.html#undefined
2017-12-12
$.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緩存機制
$.data(body2, 'age', '28');
console.log($.data(body1, 'age'));//25
console.log($.data(body2, 'age'));//28
檢查了$.cache,并沒有“age”屬性,說明在靜態方法中并沒有將$("body")作為dom對象處理,只是按照普通對象的處理方式,附加在jQuery.expando屬性,側面反映了jquery的dom緩存機制
2017-12-07
“前面的第三小節留下了一個疑問:jQuery.data() 與 .data()為什么會有區別?”這句話所指區別在何處?jQuery.data() 與 .data()的值應該都會被覆蓋掉吧。也許老師想說的是運行$("#id").data("xx","yy");$("#id").data("xx","zz");“yy”并不會覆蓋“zz”,這是由于$.fn.init并不是單例模式的。
2017-12-07
deferred.promise()的作用是,在原來的deferred對象上返回另一個deferred對象,后者只開放與改變執行狀態無關的方法(比如done()方法和fail()方法),屏蔽與改變執行狀態有關的方法(比如resolve()方法和reject()方法),從而使得執行狀態不能被改變。
意思是如果返回的是 return dtd,那么我想改變執行狀態,可以這么做dtd.reject(),這樣就改變了執行方法,但是如果 return dtd.promise(),由于dtd.promise()沒有resolve,reject等方法,所以無法從外部改變執行狀態。
意思是如果返回的是 return dtd,那么我想改變執行狀態,可以這么做dtd.reject(),這樣就改變了執行方法,但是如果 return dtd.promise(),由于dtd.promise()沒有resolve,reject等方法,所以無法從外部改變執行狀態。
2017-11-04
defer.promise(obj); 它的作用就是在wait對象上部署Deferred接口。正是因為有了這一行,后面才能直接在obj上面調用done()和fail()。
2017-11-04