属性的判断in和hasOwnProperty区别
1. hasOwnProperty 方法用于判断对象“自身”是否有某个属性:
2. in 用于判断对象“自身”及其“继承对象”是否具有某个属性:
例: let obj = {a:1,b:2};
控制台查看:
obj.hasOwnProperty('__proto__') // false
obj.hasOwnProperty('valueOf') // false
'__proto__' in obj // true
'valueOf' in obj // true
应用:
可以判断一些新属性和方法是否支持:如下
1. 想判断浏览器是否支持“__proto__"属性 // ‘__proto__’ in {}
2.判断浏览器是否支持“bind”方法 // "bind" in new Function()