定义:hasOwnProperty()方法用于检测一个对象是否含有特定的自身属性,返回一个布尔值
就是说,自己添加到原型链上的属性,会返回false
1. 用于判断是否是自身属性
var obj1 = {
name: '孙悟空',
age: 500
};
// 在原型上添加属性
Object.prototype.kongfu = '72变';
console.log(obj1,'第一次打印'); // {age:500,name:"孙悟空" __proto__:{kongfu: "72变"}}
console.log(obj1.hasOwnProperty('name')); // true
console.log(obj1.hasOwnProperty('age')); // true
console.log(obj1.hasOwnProperty('kongfu')); // false
2. 经常与 for...in 遍历对象时一起使用
因为使用for...in遍历对象时,不仅会遍历自身属性,也会遍历原型链上的属性
for(key in obj1) {
console.log(key) // 打印出: name age kongfu
};
// 所以我们这个时候可以配合使用
for(key in obj1) {
if(obj1.hasOwnProperty(key)){
console.log(key) // 打印出: name age
}
}
网友评论