如何在 JavaScript 中检查对象是否存在?
对象包含 JavaScript 中的属性及其值。我们可以使用花括号 ({}) 创建对象。它类似于变量,但我们分配对象值而不是将数字、字符串或布尔值分配给变量。
因此,在本教程中,我们将学习如何检查对象是否在 JavaScript 中存在。简而言之,我们必须学习检查对象变量存在的方法。
使用 try-catch 语句
通常,我们使用 try-catch 语句来处理 JavaScript 中的错误。我们可以在 try 块中尝试访问对象或其属性,如果程序找不到该对象,它会引发错误并进入 catch 块,而不会完成 try 块代码的执行。
语法
用户可以按照以下语法使用 try-catch 块来检查对象是否已定义。
try {
let value = object.prop;
// object is defined
} catch {
// object is not defined
}
我们在上面语法的 try 块中访问未定义的对象。
示例
在下面的示例中,我们使用了 try-catch 语句。在 try 块中,我们试图访问对象的 prop 属性,该属性未定义。
用户可以在输出中观察到,执行控制打印来自 catch 块的消息,但不会打印来自 try 块的消息,因为我们正在访问未定义的对象,这将引发错误。
<html>
<body>
<h3>Using the <i>try-catch block</i> to check if the object is defined in JavaScript.</h2>
<p id = "output"> </p>
<script>
let output = document.getElementById("output");
try {
let value = object.prop;
output.innerHTML += "The object is successfully defined!"
} catch {
output.innerHTML += "The object is not defined!"
}
</script>
</body>
</html>
使用 typeof 运算符
开发人员可以使用 typeof 运算符来检查变量的类型。在这里,我们将检查变量类型是否等于“object”,这意味着对象存在;否则,如果我们得到“undefined”或任何其他数据类型,则表示变量不是对象类型。
语法
用户可以按照以下语法使用 typeof 运算符检查对象是否存在。
let objType = typeof obj === ‘object’;
在上面的语法中,严格相等运算符匹配来自 typeof 运算符的返回值和“object”字符串。
示例
在下面的示例中,我们创建了 obj 对象。当用户单击按钮时,它会调用 isObjectDefined() 函数。在 isObjectDefined() 函数中,我们使用 typeof 运算符获取 obj 变量的类型并将其存储在 objType 中。之后,我们将 objType 变量的值与“object”进行比较,以检查对象是否存在。
<html>
<body>
<h2>Using the <i>typeof</i> operator to check if the object is defined in JavaScript.</h2>
<p id = "output"></p>
<button onclick = "isObjectDefined()"> Check for Object </button>
<script>
let output = document.getElementById("output");
let obj = {
prop1: "hello",
prop2: "Users!"
}
function isObjectDefined() {
let objType = typeof obj;
if (objType === "object") {
output.innerHTML += "The code contains the object!"
} else {
output.innerHTML += "The code doesn't contain the object!"
}
}
</script>
</body>
</html>
使用 if-else 语句
众所周知,我们可以将条件传递给 if 语句。变量或对象本身表示布尔值。当变量存在并包含除“null”之外的一些值时,它实际上是一个布尔值;否则,它是一个假布尔值。当我们使用假布尔值作为 if 语句的条件时,控制始终进入 else 块。
语法
用户可以按照以下语法使用 if-else 语句检查对象是否存在。
if (object) {
// object exists
} else {
// object doesn’t exist.
}
在上面的语法中,object 是一个包含对象的变量。
示例
在下面的示例中,我们创建了 phone 对象,其中包含一些属性和值作为键值对。之后,我们使用 if-else 语句检查 phone 对象是否存在于代码中。
用户可以观察输出,控制进入 if 块,因为 phone 对象存在。
<html>
<body>
<h2>Using the <i>if-else</i> statement to check if the object is defined in JavaScript.</h2>
<p id = "output"> </p>
<script>
let output = document.getElementById("output");
let phone = {
"color": "blue",
"RAM": "8GB",
"ROM": "128GB"
}
if (phone) {
output.innerHTML += "The phone object defined in the code!"
} else {
output.innerHTML += "The phone object isn't defined in the code!"
}
</script>
</body>
</html>
用户学习了三种检查对象是否存在的方法。用户可以根据自己的需求使用任何一种方法。如果他们还需要捕获其他错误,他们可以使用 try-catch 块;否则,他们使用普通的 if-else 语句而不是 typeof 运算符。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP