首页 > 代码库 > 遍历对象属性
遍历对象属性
初始化对象:
var person = function(name){ this._name = name;}var grand = function(){ this.city = "sh";}grand.prototype.age = 18; person.prototype = new grand();
1. for in 不仅能遍历自身的可枚举属性,还遍历原型对象中的可枚举属性
var p = new person();for(var key in p){ console.log(key)}
结果:
_name
city
age
2. Object.keys(object); 遍历对象自身的可枚举属性
var keys = Object.keys(p);for(var key in keys){ console.log(key+":"+keys[key])}
结果:
0:_name
3.object.hasOwnProperty(propertyName); 检测propertyName是否是object的自身属性
即使属性是不可遍历的,只要它存在于object对象中,就返回true
Object.defineProperty(p,"home",{ value:"nanjing", enumerable:false});
console.log(p.hasOwnProperty("home")); // true
4.object.propertyIsEnumerable(propertyName); //检测propertyName是否可遍历
propertyName必须是自身的属性,如果属性存在于原型对象上,即使属性可遍历,也返回false
Object.defineProperty(p,"home",{ value:"nanjing", enumerable:true});console.log(p.hasOwnProperty("home")); // trueconsole.log(p.propertyIsEnumerable("age")); //false
"home"是对象自身属性,且可遍历
"age"存在于原型对象上,返回false;
遍历对象属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。