对象的枚举:
for in
栗子:
1.
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
// 遍历 枚举 enumeration
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
var obj = {
name: '13',
age: 123,
sex: 'male',
height: 180,
weight: 75,
}
for (var prop in obj) {
console.log(obj[prop] + ' ' + typeof(prop));
}
//obj.name—————> obj['name']
var obj1 = {
a: 123,
b: 234,
c: 324,
}
var key;
for (key in obj1) {
obj1.key++;
}
1.hasOwnProperty
var obj = {
name: '13',
age: 123,
sex: 'male',
height: 180,
weight: 75,
__proto__: {
lastName: 'deng',
__proto__: Object.prototype
}
}
// hasOwnProperty是判断对象里面是否有自己的属性,有的话不输出
Object.prototype.abc = '123';
for (var prop in obj) {
if (!obj.hasOwnProperty(prop)) {
console.log(obj[prop] + ' ' + typeof(prop));
}
}
2.in
'height' in obj
3.instanceof
A instanceof B
A对象 是不是 B构造函数构造出来的
看A对象的原型链上 有没有 B的原型
function Person() {
}
var person = new Person();
person instanceof Person;