成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

可想實(shí)現(xiàn)一個(gè)自己的簡(jiǎn)單jQuery庫(kù)?(五)

mindwind / 1353人閱讀

摘要:這個(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

相關(guān)文章

  • 可想實(shí)現(xiàn)一個(gè)自己簡(jiǎn)單jQuery庫(kù)?()

    摘要:這個(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ù)...

    Code4App 評(píng)論0 收藏0
  • 可想實(shí)現(xiàn)一個(gè)自己簡(jiǎn)單jQuery庫(kù)?(六)

    摘要:這個(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...

    Warren 評(píng)論0 收藏0
  • 可想實(shí)現(xiàn)一個(gè)自己簡(jiǎn)單jQuery庫(kù)?(六)

    摘要:這個(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...

    whinc 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<