首页 > 其他 > 详细

关于遍历对象的属性的一点新认识,如何只遍历对象自身的属性

时间:2019-11-23 12:24:21      阅读:82      评论:0      收藏:0      [点我收藏+]

平时想要遍历一个对象时一般会采用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);  //这样,打印的属性就只包含对象自己的了
    }
}

关于遍历对象的属性的一点新认识,如何只遍历对象自身的属性

原文:https://www.cnblogs.com/home-/p/11916837.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!