判斷JS對象是否擁有某屬性的方法


1.in 運算符方法

對象的自有屬性或繼承屬性中包含這個屬性則返回true;

var obj = {
    name:'david'
};
console.log('name' in obj); // --> true
console.log('toString' in obj); // --> true

無論是key值name,還是原形鏈上的toString,都能檢測到返回true。

2.hasOwnProperty 方法

用來檢測是否是對象自有屬性,對於繼承屬性返回false;

var obj = {
    name:'david'
};
obj.hasOwnProperty('name'); // --> true
obj.hasOwnProperty('toString'); // --> false

原型鏈上繼承過來的屬性toString無法通過hasOwnProperty檢測到,返回false。

3.propertyIsEnumerable方法

hasOwnProperty的加強版,只有屬性是自有而且是可枚舉的才返回true;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM