javascript,檢測物件中是否存在某個屬性

2021-08-18 17:19:48 字數 1106 閱讀 3167

檢測物件中屬性的存在與否可以通過幾種方法來判斷。

1.使用in關鍵字。

該方法可以判斷物件的自有屬性和繼承來的屬性是否存在。

var o=;

"x" in o; //

true,自有屬性存在

"y" in o; //

false

"tostring" in o; //

true,是乙個繼承屬性

2.使用物件的hasownproperty()方法。

該方法只能判斷自有屬性是否存在,對於繼承屬性會返回false。

var o=;

o.hasownproperty("x");    //

true,自有屬性中有x

o.hasownproperty("y");    //

false,自有屬性中不存在y

o.hasownproperty("tostring"); //

false,這是乙個繼承屬性,但不是自有屬性

3.用undefined判斷

自有屬性和繼承屬性均可判斷。

var o=;

o.x!==undefined; //

true

o.y!==undefined; //

false

o.tostring!==undefined //

true

該方法存在乙個問題,如果屬性的值就是undefined的話,該方法不能返回想要的結果,如下。

var o=;

o.x!==undefined; //false,屬性存在,但值是undefined

o.y!==undefined; //

false

o.tostring!==undefined //

true

4.在條件語句中直接判斷

var o={};

if(o.x) o.x+=1; //如果x是undefine,null,false," ",0或nan,它將保持不變

javascript,檢測物件中是否存在某個屬性

檢測物件中屬性的存在與否可以通過幾種方法來判斷。1.使用in關鍵字。該方法可以判斷物件的自有屬性和繼承來的屬性是否存在。var o x in o true,自有屬性存在 y in o false tostring in o true,是乙個繼承屬性 2.使用物件的hasownproperty 方法。...

javascript,檢測物件中是否存在某個屬性

檢測物件中屬性的存在與否可以通過幾種方法來判斷。1.使用in關鍵字。該方法可以判斷物件的自有屬性和繼承來的屬性是否存在。var o x in o true,自有屬性存在 y in o false tostring in o true,是乙個繼承屬性 2.使用物件的hasownproperty 方法。...

JavaScript中檢測物件是否包含某屬性

function person person.prototype.name xiaohua var person1 new person console.log person1.name xiaohua console.log person1.hasownproperty name false co...