JavaScript hasOwnProperty

JavaScript hasOwnProperty教程

JavaScript 中,hasOwnProperty 方法用于判断一个 对象 是否有某个 属性,如果存在某个属性,则返回 true,如果不存在,则返回 false。

和 in 运算符不同,该方法会忽略掉那些从原型链上 继承 到的属性。

JavaScript hasOwnProperty详解

语法

obj.hasOwnProperty(attr);

参数

参数 描述
attr 需要判断的属性。

返回值

如果对象 obj 含有属性 attr,则返回 true,否则,返回 false。

说明

所有继承了 Object 的对象都会继承到 hasOwnProperty 方法。这个方法可以用来检测一个对象是否含有特定的自身属性。

和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性。

案例

运算对象属性存在

使用 hasOwnProperty 方法,判断对象是否有某个属性

<!DOCTYPE html> <html> <head> <title>JavaScript判断对象属性是否存在</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); function createPerson(name, age, sex){ var person = new Object(); person.name = name; person.age = age; person.sex = sex; person.sayHi = function(){ console.log("I am", this.name, "i am", this.age, "years old", "and my sex is", this.sex); } return person; } var person = createPerson("HaiCoder", 109, "F"); if (person.hasOwnProperty("name") === false){ console.log("Person has no name attr"); }else{ console.log("Person has name attr, val =", person.name); } if (person.hasOwnProperty("score") === false){ console.log("Person has no score attr"); }else{ console.log("Person has score attr, val =", person.score); } </script> </head> </html>

程序运行后,控制台输出如下:

27_JavaScript hasOwnProperty判断对象是否有属性.png

我们创建了一个 person 对象,接着,我们使用了对象的 hasOwnProperty 方法,判断 person 对象是否含有 name 属性和 age 属性。

如果含有某个属性,那么 hasOwnProperty 方法则返回 true,如果没有某个属性,那么 hasOwnProperty 方法返回 false。

JavaScript hasOwnProperty教程总结

在 JavaScript 中,hasOwnProperty 方法用于判断一个对象是否有某个属性,如果存在某个属性,则返回 true,如果不存在,则返回 false。

和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性。