1.for in 主要用于遍歷對(duì)象的可枚舉屬性,例如自有屬性仑撞,繼承自原型的屬性:
let obj = {name:'馮雪娟',age:'20'};
//增加不可枚舉的屬性sex:
Object.defineProperty(obj,'sex',{value:'femal',enumerable:false});
Object.prototype.fn=function(){console.log('這是一個(gè)函數(shù)')};
Object.prototype.address = '成都';
for(let key in obj) {
console.log(key + ':'+ obj[key])
}
image.png
2.Object.keys() 返回一個(gè)對(duì)象的key值數(shù)組聋袋,數(shù)組的元素為對(duì)象自有可枚舉屬性:
let obj = {name:'馮雪娟',age:'20'};
//增加不可枚舉的屬性sex:
Object.defineProperty(obj,'sex',{value:'femal',enumerable:false});
Object.prototype.fn=function(){console.log('這是一個(gè)函數(shù)')};
Object.prototype.address = '成都';
console.log(Object.keys(obj))
image.png
3.Object.values() 返回一個(gè)對(duì)象的value值數(shù)組,數(shù)組的元素為對(duì)象自有可枚舉屬性:
let obj = {name:'馮雪娟',age:'20'};
//增加不可枚舉的屬性sex:
Object.defineProperty(obj,'sex',{value:'femal',enumerable:false});
Object.prototype.fn=function(){console.log('這是一個(gè)函數(shù)')};
Object.prototype.address = '成都';
console.log(Object.values(obj))
image.png
4.Object.getOwnPropertyNames() 返回一個(gè)對(duì)象的自有屬性數(shù)組腔稀,包括可枚舉和不可枚舉屬性盆昙,不包括繼承自原型的屬性:
let obj = {name:'馮雪娟',age:'20'};
//增加不可枚舉的屬性sex:
Object.defineProperty(obj,'sex',{value:'femal',enumerable:false});
Object.prototype.fn=function(){console.log('這是一個(gè)函數(shù)')};
Object.prototype.address = '成都';
console.log(Object.getOwnPropertyNames(obj))
image.png