zoukankan      html  css  js  c++  java
  • JavaScript对不同数据结构的常见循环

    var obj1 = {
        title : 'tom and jetty',
        author : 'pecool'
    }
    function Book(){}
    Book.prototype.price = 23;
    obj1.__proto__ = Book.prototype;

    1、带原型属性的循环--for In的使用:

      for in 这种循环一般是用来遍历对象的,它可以循环出对象的属性,其中包括原型中的属性。如果仅想遍历自身的属性,可以使用hasOwnProperty方法来判断。

    另外obj1定义如下:我是创建了一个字面量对象obj1,然后将obj1的原型指针让它指向函数Book,Book函数的原型中包含一个属性price。这样做的目的是测试Object实例的对象如何改变它的原型指针,使它指向一个新的原型。从而继承新原型的属性和方法。当然你可以简单点。

    for(let item in obj1){
        if(obj1.hasOwnProperty(item)){
            console.log('selfProperty:'+item)
        }else{
            console.log('__proto__Property:'+item)
        }
    }
        selfProperty:title     //执行结果
        selfProperty:author    //执行结果
        __proto__Property:price    //执行结果

    2、只循环javascript对象自身Key属性--Object.keys()方法的使用:

    var key_elements = document.forms[0].elements;
    Object.keys(key_elements);

    3、只循环javascript对象自身value属性--Object.values()方法的使用:

    var key_elements = document.forms[0].elements;
    Object.values(key_elements);

    4、对普通json结构数据循环

            for(var one in jsonObject){
                //one:表示key
                //jsonObject[one]:表示value
            }              
  • 相关阅读:
    Bootstrap3 表格-条纹状表格
    Bootstrap3 表格-基本表格
    Bootstrap3 代码-程序输出
    Bootstrap3 代码-变量
    垃圾回收相关(深入理解Java虚拟机中的内容)
    JVM内存管理及GC机制
    关于Spring IOC (DI-依赖注入)需要知道的一切
    关于 Spring AOP (AspectJ) 该知晓的一切
    JDK1.8源码分析之HashMap
    深入理解Java类加载器(ClassLoader)
  • 原文地址:https://www.cnblogs.com/pecool/p/11703102.html
Copyright © 2011-2022 走看看