最贊回答 / 慕慕7300641
each: function(obj, callback, args) { var value, i = 0, length = obj.length, isArray = isArraylike(obj); // 判斷是不是數(shù)組 // 傳了第三個參數(shù) if (args) { if (isArray) { for (; i < length; i++) { // 相當(dāng)于: // args = [a...
2016-08-12
最贊回答 / Zickson
為了鏈?zhǔn)秸{(diào)用方便。比如一個對象:A的某個方法函數(shù)執(zhí)行結(jié)果返回對象A自身時(this),可以再次調(diào)用A對象的其他方法;其他方法如果返回值依然為自身,還可以繼續(xù)調(diào)用A的方法...例:shape.set(x).set(y).set(z).set(type)
2016-08-11
init: function(selector) {
this.selector = selector;
return this;
},為什么要return this呢
this.selector = selector;
return this;
},為什么要return this呢
2016-08-09
已采納回答 / stZhang1998
return this;可以讓JQuery形成一個鏈?zhǔn)降氖褂媒Y(jié)構(gòu)。在jQuery對象中,this指向本身的jQuery對象。
2016-08-09
下面的寫法看似復(fù)雜了點,其實最直接的就是直接設(shè)置一個memory,每次執(zhí)行完代碼都自動更新memory的值,在add時候,直接執(zhí)行fn(memory)就可以了。但是作者考慮到既然都是執(zhí)行回調(diào)函數(shù),我可以直接寫一個_fire()方法,無論在 add中還是fire()中都可以使用。所以顯得復(fù)雜了一些。如果單純不考慮代碼模塊化,可以自己簡單寫一下,代碼量縮小了一半多。當(dāng)然,此處還是建議大家學(xué)習(xí)本課中提到的方法
2016-08-06
跟多個函數(shù)放到一個函數(shù)中一次執(zhí)行有什么不同,不明白
__________________
到時是對的,但是在調(diào)用的時候,只用放一次,而且放到一個函數(shù)中這個過程是通過方法來添加的,而不是直接在代碼中添加。所謂的“組件”的思想。而且,最重要的是,注意這句話:當(dāng)一個對象的改變需要同時改變其它對象,并且它不知道具體有多少對象需要改變的時候,就應(yīng)該考慮使用觀察者模式。 如果一次把多個函數(shù)放到一個函數(shù)中,不僅僅可能造成這個函數(shù)過于龐大(比如要同時執(zhí)行幾十上百個函數(shù)),而且每次十分不靈巧,函數(shù)變得不夠“單純”,換句話說,太low了。。。
__________________
到時是對的,但是在調(diào)用的時候,只用放一次,而且放到一個函數(shù)中這個過程是通過方法來添加的,而不是直接在代碼中添加。所謂的“組件”的思想。而且,最重要的是,注意這句話:當(dāng)一個對象的改變需要同時改變其它對象,并且它不知道具體有多少對象需要改變的時候,就應(yīng)該考慮使用觀察者模式。 如果一次把多個函數(shù)放到一個函數(shù)中,不僅僅可能造成這個函數(shù)過于龐大(比如要同時執(zhí)行幾十上百個函數(shù)),而且每次十分不靈巧,函數(shù)變得不夠“單純”,換句話說,太low了。。。
2016-08-04