day15---对象的枚举

对象的枚举–for in 循环
先构建一个对象

var person = {
		name: "xiaoming",
		age: 24,
		sex: 'male',
		height: 170,
		weight: 75
	}

我们用for in循环将各属性及属性值调用。
for in 循环
for(var prop in 对象) ---- prop 指对象里的属性名

for(var prop in person){
		console.log(prop+" "+typeof(prop));

最后访问的结果:
name string
age string
sex string
height string
weight string
但如果我们访问的是person.prop呢?console.log(person.prop);此时我们查看结果为5个undefined
原因
person.prop会隐性的执行person[‘prop’],而在这个person对象中,并没有prop这个属性,所以为undefiend
如果我们访问的是console.log(person[prop]);,则会将各属性值返回。

hasOwnProperty–判断是否为自身属性,是则返回true 否则返回false。

var person = {
		name: "xiaoming",
		age: 24,
		sex: 'male',
		height: 170,
		weight: 75,
		__proto__:{
			lastName:"yao"
		}
	}
	for(var prop in person){
		if(person.hasOwnProperty(prop)){
			console.log(person[prop]);
		}
	}

通过上段代码也可以访问各属性值,运用hasOwnProperty的方法,放在if当中充当条件语句。

你可能感兴趣的:(day15---对象的枚举)