美文网首页jQuery
jQuery each()方法

jQuery each()方法

作者: sky丶星如雨 | 来源:发表于2017-08-22 11:07 被阅读0次

今天在做练习的时候发现了一个坑。。

  $(function () {
        // 定义一个数组
        var arr = [1, 2, 3, 4, 5];
        // 遍历数组
        arr.each(function (i, item) {
            alert(arr[i])
        })
    })

我的目的是想遍历整个数组,但是,控制台报了个is not a function;
然后,我想应该是arr是原生对象,没有转换成jq对象。

 $(function () {
        var arr = [1, 2, 3, 4, 5];
        $arr = $(arr);
        $arr.each(function (i) {
            console.log($arr[i])
        })
    })

果然是这样,此时,控制台就可以打印出arr里的数据。
另外,我发现jQuery还提供了一种方法

 $(function () {
        var arr = [1, 2, 3, 4, 5];
        $.each(arr, function (i) {
            console.log(arr[i])
        })
    })

原来,
$.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历任何的集合(无论是数组或对象),如果是数组,回调函数每次传入数组的索引和对应的值(值亦可以通过this 关键字获取,但javascript总会包装this 值作为一个对象—尽管是一个字符串或是一个数字),方法会返回被遍历对象的第一参数.
这句话是我在网上查到的,但我对此理解的并不深刻,感觉就是$.each()方法,将对象做了一次封装,直接转换成了jQuery对象。
以上是我自己的理解,可能有不对的地方,希望有大神能给些建议。

相关文章

网友评论

    本文标题:jQuery each()方法

    本文链接:https://www.haomeiwen.com/subject/evqhdxtx.html