屬性的判斷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()    

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章