zoukankan      html  css  js  c++  java
  • 关于遍历对象的属性的一点新认识,如何只遍历对象自身的属性

     

    平时想要遍历一个对象时一般会采用for/in语句,通过for/in语句可以快速地拿到对象的key和value值

    var obj = {name:'zhang',age:24};
    for(var key in obj){
        console.log(key);  //name age
        console.log(obj[key]);  //zhang 24
    }
    可是,使用 for in 循环遍历对象的属性时,原型链上的所有属性都将被访问:
    function Pro(name, age){
        this.name = name;
        this.age = age;
     }
    Pro.prototype.hobby = '羽毛球';
    Pro.prototype.qq = '123';
    var pro1 = new Pro('wan',24);
    console.log(pro1);
    for(var p in pro1){
        console.log(p);  //会打印所有属性,包含原型链上的
    }
    可是,如果要只遍历对象自身的属性呢,今天刚刚看到这个问题时,我一下子没想起来,可以利用对象的hasOwnProperty属性做一个筛选
    for(var p in pro1){
        if (pro1.hasOwnProperty(p)) {
        console.log(p);  //这样,打印的属性就只包含对象自己的了
        }
    }
  • 相关阅读:
    Junit连接oracle数据库
    java判断字符串是否由数字组成
    Hibernate各种主键生成策略与配置详解
    一对多映射关系
    one-to-one 一对一映射关系(转 wq群)
    工厂模式
    struts2
    创建JUtil
    jdbc
    压缩数据
  • 原文地址:https://www.cnblogs.com/home-/p/11916837.html
Copyright © 2011-2022 走看看