如何检查 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