属性的判断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()    

发布了31 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_38694034/article/details/102972411
今日推荐