• jquery 循环对象


    写在前面:

    之前用了N年的 jquery ,虽然现在几乎不使用 jquery 了,但是最近才发现,jquery 也可以循环对象。

    以前都是使用 jquery 的 each 去循环数组。

    可能之前没仔细看过官网内容,之前也没读过 jquery 的源码,刚去翻看了 jquery 的源码,才知道 jquey 源码循环对象用的是 for in 循环。

    特此记录一下。

     


    一、js 的 for in 循环

      回顾一下 js 的 for in 循环,它可以循环数组,也可以循环对象

    var arr=[1,2,3,4,5];
    var obj={a:1,b:2};
    
    for(var key in arr){
        console.log(arr[key])
    }
    // 打印结果为: 1 2 3 4 5 
    
    for(var key in obj){
        console.log(key+":"+obj[key])
    }
    // 打印结果为: 
        // a:1
        // b:2

    二、jquery 的 each 循环

    循环数组:

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

    上面两个 each 的用法打印出来的结果是一样的,都是:

     循环对象:

      先来看看 $().each() 的使用:

    var obj={a:1,b:2};
    
    $(obj).each(function(i,dom){
        console.log(i,dom)
    })

      打印结果为:

      

       看来,$().each() 不能循环对象,只能循环数组。传入的对象也是被当做数组来处理了。

       因为 $( ) 的语法本来返回的是一个类数组的对象。往里面传入对象有点荒谬。

      再来看看 $.each() 的使用:

    var obj={a:1,b:2}; 
    
    $.each(obj,function(i,dom){
        console.log(i,dom)
    })

      打印结果为:

      

      可以看到,$.each() 是可以循环对象的。

     

    总结:

      1、$.each( )既可以循环数组,也可以循环对象

      2、 $( ).each( ) 只能循环数组,不能循环对象。

  • 相关阅读:
    @Controller 与 @RestController 的区别
    Java泛型
    Java面试被经常问到的常用算法
    jdk和jre的区别
    Spring获取对象的方式
    xsi:schemaLocation的作用
    SpringBoot学习(一)
    docker-elk装IK自定义分词库
    MySQL存储引擎
    docker环境下elasticsearch安装ik和拼音分词
  • 原文地址:https://www.cnblogs.com/smile-fanyin/p/14700203.html
Copyright © 2020-2023  润新知