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( ) 只能循环数组,不能循环对象。

  • 相关阅读:
    剑指offer[30]——连续子数组的最大和
    移动端数据爬取
    Scrapy框架基础应用和持久化存储
    爬虫的验证码处理,图片懒加载,selenium和 PhantomJS,requests模块的session,线程池
    爬虫之数据解析(bs4,Xpath)
    爬虫之jupyter的使用,requests模块,正则表达式
    git的分支,多人协作,标签管理
    git 的基础
    利用python操作excel表
    nginx基于uwsgi部署Django
  • 原文地址:https://www.cnblogs.com/smile-fanyin/p/14700203.html
Copyright © 2011-2022 走看看