文章目录
  1. 1. 遍历对象
  2. 2. 判断自身属性hasOwnProperty
  3. 3. instanceof A instanceof B 看A对象的原型链上有没有B的原型

遍历对象

1
2
3
4
5
6
7
8
9
10
11
var deng = {
name: "zhang",
sex: 1,
weight: 180,
__proto__: {
lastName: "bing"
}
}
for(var prop in deng){
console.log(prop + ":" + deng[prop]);
}

循环的大小为自己属性的大小,不会计算系统隐藏属性,

判断自身属性hasOwnProperty

1
2
3
4
5
6
for (var prop in deng) {
//监测是否自己的属性
if (deng.hasOwnProperty(prop)) {
console.log(prop + ":" + deng[prop]);
}
}

in 判断可不可以访问这个属性

1
2
3
4
5
6

if ("name" in deng) {
console.log("true");
} else {
console.log("false");
}

instanceof A instanceof B 看A对象的原型链上有没有B的原型

//arr可能是数组可能是对象,判断是数组还是对象的三种方法

  • arr.constructor 数字还是对象
  • arr in Array true为数组 否则为对象
  • Object.Prototype.toString.call(arr)

文章目录
  1. 1. 遍历对象
  2. 2. 判断自身属性hasOwnProperty
  3. 3. instanceof A instanceof B 看A对象的原型链上有没有B的原型