摘要:這個(gè)版本我們要增加一個(gè)用的非常多的方法那就是我們知道不僅能遍歷數(shù)組還能遍歷對(duì)象首先我們需要一個(gè)對(duì)數(shù)組進(jìn)行驗(yàn)證的方法接著就是我們的重頭戲因?yàn)槲覀冞€可能遍歷數(shù)組對(duì)象如所以還需要一個(gè)判斷是否是數(shù)組對(duì)象在這應(yīng)該強(qiáng)調(diào)下的用法還是很多人不知道何時(shí)使用
Lesson-4
這個(gè)版本我們要增加一個(gè)用的非常多的方法!
那就是each!
我們知道each不僅能遍歷數(shù)組,還能遍歷對(duì)象.
首先我們需要一個(gè)對(duì)數(shù)組進(jìn)行驗(yàn)證的方法
function isArray(obj) { return Array.isArray(obj); }
接著就是我們的重頭戲
Kodo.each = function(obj,callback) { var len = obj.length, constru = obj.constructor, i = 0; if(constru === window.f) { for (; i < len; i++) { var val = callback.call(obj[i],i,obj[i]); if(val === false) break; } } else if (isArray(obj)) { for (; i < len; i++) { var val = callback.call(obj[i],i,obj[i]); if(val === false) break; } } else { for( i in obj ) { var val = callback.call(obj[i],i,obj[i]); if(val === false) break; } } };
因?yàn)槲覀冞€可能遍歷Kodo數(shù)組對(duì)象
如
f("div").each(function(index,item) { })
所以還需要一個(gè)判斷 是否是Kodo數(shù)組對(duì)象
if(constru === window.f) { for (; i < len; i++) { var val = callback.call(obj[i],i,obj[i]); if(val === false) break; } }
在這應(yīng)該強(qiáng)調(diào)下call的用法,還是很多人不知道call何時(shí)使用.
在我們的callback里 第一個(gè)參數(shù)是下標(biāo),第二個(gè)參數(shù)是當(dāng)前的對(duì)象,然后this還要指向他自己
所以 callback.call(obj[i],i,obj[i]); 就是這樣寫(xiě) 第一個(gè)參數(shù)是改變this指向,第二個(gè)參數(shù)是下標(biāo),第三個(gè)是自己本身
很簡(jiǎn)單不是嗎?
既然你都看到這里了,還不給我一個(gè)star?!
github地址: https://github.com/MeCKodo/forchange/tree/master/lesson-4
可想造一個(gè)屬于你自己的jQuery庫(kù)?(四):http://segmentfault.com/a/1190000004001281
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/86228.html
摘要:這個(gè)版本我們要增加一個(gè)用的非常多的方法那就是我們知道不僅能遍歷數(shù)組還能遍歷對(duì)象首先我們需要一個(gè)對(duì)數(shù)組進(jìn)行驗(yàn)證的方法接著就是我們的重頭戲因?yàn)槲覀冞€可能遍歷數(shù)組對(duì)象如所以還需要一個(gè)判斷是否是數(shù)組對(duì)象在這應(yīng)該強(qiáng)調(diào)下的用法還是很多人不知道何時(shí)使用 Lesson-4 這個(gè)版本我們要增加一個(gè)用的非常多的方法! 那就是each! 我們知道each不僅能遍歷數(shù)組,還能遍歷對(duì)象. 首先我們需要一個(gè)對(duì)數(shù)...
摘要:這個(gè)版本新增個(gè)方法先給出代碼我們要仔細(xì)分辨下這個(gè)方法在中返回的都是什么對(duì)象到底是對(duì)象還是對(duì)象明白了這個(gè)后就很容易能寫(xiě)出這個(gè)方法首先我們知道一般都會(huì)這樣寫(xiě)查找下的返回的是數(shù)組對(duì)象而不是原生的對(duì)象那么我們就可以換個(gè)思路因?yàn)槲覀兡苣玫竭@個(gè) Lesson-5 這個(gè)版本新增6個(gè)方法,find(),first(),last(),eq(),get(),ajax 先給出代碼 find : funct...
摘要:這個(gè)版本新增個(gè)方法先給出代碼我們要仔細(xì)分辨下這個(gè)方法在中返回的都是什么對(duì)象到底是對(duì)象還是對(duì)象明白了這個(gè)后就很容易能寫(xiě)出這個(gè)方法首先我們知道一般都會(huì)這樣寫(xiě)查找下的返回的是數(shù)組對(duì)象而不是原生的對(duì)象那么我們就可以換個(gè)思路因?yàn)槲覀兡苣玫竭@個(gè) Lesson-5 這個(gè)版本新增6個(gè)方法,find(),first(),last(),eq(),get(),ajax 先給出代碼 find : funct...
閱讀 3054·2021-09-03 10:33
閱讀 1279·2019-08-30 15:53
閱讀 2627·2019-08-30 15:45
閱讀 3389·2019-08-30 14:11
閱讀 542·2019-08-30 13:55
閱讀 2591·2019-08-29 15:24
閱讀 1921·2019-08-26 18:26
閱讀 3574·2019-08-26 13:41