js原型in与hasOwnProperty的属性检测差异

2020-10-20  本文已影响0人  小李不小
var a={name:'1'};
var b={name2:'2'};
 Object.setPrototypeOf(a,b);
 console.dir(a)
 // in与hasOwnProperty的属性检测差异
 // in 能把原型上的属性全部检查出来
 // hasOwnProperty 只能查到属于自己的属性和方法
 console.log('name' in a)//true


 console.log(a.hasOwnProperty('name2')) //false  name2不是属于a自身的属性,而是原型上的属性,所有false

 console.log(a.hasOwnProperty('name')) //true
//name是属于a自身的属性,不是原型上的属性,所有true

上一篇 下一篇

猜你喜欢

热点阅读