如何检查 JavaScript 对象中是否存在某个键?

javascriptobject oriented programmingprogramming

有几种方法可以查找 JavaScript 对象中是否存在某个键。

假设我们有一个 'employee' 对象,如下所示。

   var employee = {
      name: "Ranjan",
      age: 25
   }

现在我们需要检查 employee 对象中是否存在 'name' 属性。

1) 'In' 运算符

我们可以使用 'in'运算符检查对象的属性。如果未找到对象的任何实际属性,'in' 运算符还会查找继承属性。

在下面的例子中,当检查 'toString' 是否存在时,'in' 运算符会仔细检查对象的属性。一旦确认不存在,就会检查对象的基本属性。由于 'toString' 是基本属性,因此它会显示 'true',如输出所示。

示例

<html>
<body>
<script>
   var employee = {
      name: "Ranjan",
      age: 25
   }
   document.write("name" in employee);
   document.write("</br>");
   document.write("salary" in employee);
   document.write("</br>");
   document.write("toString" in employee);
</script>
</body>
</html>

输出

true
false
true

2) hasOwnProperty() 

此方法仅检查对象的实际属性,而不检查任何类型的继承属性。如果有实际属性,此方法将根据其可用性显示 true 或 false。

在下面的示例中,我们还搜索了继承属性(例如 'toString'),因此它显示 false,如输出所示。

示例

<html>
<body>
<script>
   var employee = {
      name: "Ranjan",
      age: 25
   }
   document.write(employee.hasOwnProperty('toString'));
   document.write("</br>");
   document.write(employee.hasOwnProperty('name'));
   document.write("</br>");
   document.write(employee.hasOwnProperty('salary'));
</script>
</body>
</html>

输出

false
true
false

相关文章