下面小編就為大家了一篇判斷JS對象是否擁有某屬性的方法推薦。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。
兩種方式,但稍有區(qū)別
1,in 運算符
var obj = {name:'jack'};
alert('name' in obj); // --> true
alert('toString' in obj); // --> true
可看到無論是name,還是原形鏈上的toString,都能檢測到返回true。
2,hasOwnProperty 方法
var obj = {name:'jack'};
obj.hasOwnProperty('name'); // --> true
obj.hasOwnProperty('toString'); // --> false
原型鏈上繼承過來的屬性無法通過hasOwnProperty檢測到,返回false。
需注意的是,雖然in能檢測到原型鏈的屬性,但for in通常卻不行。
當然重寫原型后for in在IE9/Firefox/Safari/Chrome/Opera下是可見的。
以上這篇判斷JS對象是否擁有某屬性的方法推薦就是小編分享給大家的全部內容了,希望能給大家一個參考,