zoukankan      html  css  js  c++  java
  • 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( ) 只能循环数组,不能循环对象。

  • 相关阅读:
    CGLib实现不同类中同名不同类型属性复制
    stream 伪复用实现
    年终盘点 | 2020年,国内私有云正式进入3.0时代
    高危端口135,137,138,139,445,1025,2475,3127,6129,3389,593
    在jsp引入js失败,提示404
    安全漏洞扫描
    Go 实现的文件行数统计工具
    .NET Core 获取域名 DNS 解析记录
    .NET Core 操作 Windows 注册表
    .NET MongoDb BsonDocument 序列化
  • 原文地址:https://www.cnblogs.com/smile-fanyin/p/14700203.html
Copyright © 2011-2022 走看看