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
            }              
  • 相关阅读:
    kafka原理
    互斥和条件变量区别
    多线程-----Thread类与Runnable接口的区别
    String、StringBilder和StringBuffer之间的区别
    react native与原生的交互
    Typescript 常见写法
    react项目中的注意点
    js中的正则表达式
    前端总结(一)
    前端性能的优化
  • 原文地址:https://www.cnblogs.com/pecool/p/11703102.html
Copyright © 2011-2022 走看看