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

2021-08-14 21:10:16 字數 1175 閱讀 3348

function

person

()person.prototype.name = "xiaohua";

var person1 = new person();

console.log(person1.name); //xiaohua

console.log(person1.hasownproperty("name")); //false

console.log("name"

in person1); //true

person1.name = "xiaoming";

alert(person1.name); //"xiaoming" ——來自例項

alert(person1.hasownproperty("name")); //true

alert("name"

in person1); //true

/*由於in 操作符只要通過物件能夠訪問到屬性就返回true,hasownproperty()只在屬性存在於

例項中時才返回true,因此只要in 操作符返回true 而hasownproperty()返回false,就可以確

定屬性是原型中的屬性*/

function

hasprototypeproperty

(object, name)

/*在這裡,name 屬性先是存在於原型中,因此hasprototypeproperty()返回true。當在例項中

重寫name 屬性後,該屬性就存在於例項中了,因此hasprototypeproperty()返回false。即使原

型中仍然有name 屬性,但由於現在例項中也有了這個屬性,因此原型中的name 屬性就用不到了*/

function

person

()person.prototype.name = "xiaohua";

var person = new person();

alert(hasprototypeproperty(person, "name")); //true

person.name = "xiaoming";

alert(hasprototypeproperty(person, "name")); //false

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,檢測物件中是否存在某個屬性

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