遍历、枚举对象
let obj = {
a: 123456,
b: 456123,
c: 789123,
d: 8523,
__proto__: {
name: "123456"
}
};
// 当前遍历会把原型上的属性也给打印出来(__proto__为原型)
for (let key in obj) {
console.log(obj[key]);
// 123456
// 456123
// 789123
// 8523
// '123456'
}
hasOwnProperty
方法的使用
let obj = {
a: 123456,
b: 456123,
c: 789123,
d: 8523,
__proto__: {
name: "123456"
}
};
for (let key in obj) {
// 判断是否为对象自定义属性,不包含(__proto__原型属性)
if(obj.hasOwnProperty(key)) {
console.log(obj[key]);
// 123456
// 456123
// 789123
// 8523
}
}
instanceof
的使用
// 为true的例子
function Car() {}
let car = new Car();
// 判断car是否是Car构造函数构造出来的
console.log(car instanceof Car); // true
// 为true的例子
let obj = {}; // 或者obj = []
// 判断obj 的原型链上有没有Object的原型
console.log(obj instanceof Object); // true
// 为false的例子
function Car() {}
let car = new Car();
let obj = {};
// 判断obj是否是Car构造函数构造出来的
console.log(obj instanceof Car); // false
A instanceof B
综上示例得出该结论:看A对象的原型链上 有没有 B的原型
网友评论