hasOwnProperty(“property”) 和 in 的区别
1 先看各自应用
|
|
2 “property” in obj 返回布尔类型,用于判断某个对象上是否有某个属性,包括其实例化的属性,以及原型链上的属性
obj.hasOwnProperty(“property”) 返回布尔类型,用于判断某个对象上是否有某个属性,但是仅仅指的是实例化的属性,不包括原型上的属性,也不包括属性指向一个对象当中的属性;
“property” in obj 可以判断一个对象是否有原生属性或者原型属性;
obj.hasOwnProperty(“property”) 只能判断原生属性,不能判断原型属性
注意属性一定要用引号括起来
3 我们可以进行一个封装,用来判断某个属性是否在原型上
|
|
4 对于下面这种情况也要引起注意
|
|