该对象包含 JavaScript 中的属性及其值。我们可以使用大括号 ({}) 创建一个对象。它与变量类似,但我们分配一个对象值,而不是向变量分配数字、字符串或布尔值。
因此,在本教程中,我们将学习检查 JavaScript 中的对象是否存在。简而言之,我们必须学习检查对象变量是否存在的方法。
通常,我们使用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 运算符检查对象是否存在。
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语句。变量或对象本身表示布尔值。当一个变量存在并且包含除“null”之外的其他值时,它确实是一个布尔值;否则,它是一个错误的布尔值。当我们使用假布尔值作为 if 语句的条件时,控制总是转到 else 块。
用户可以按照以下语法使用 if-else 语句来检查对象是否存在。
if (object) { // object exists } else { // object doesn’t exist. }
在上面的语法中,对象是包含该对象的变量。
在下面的示例中,我们创建了电话对象,其中包含一些属性和值作为键值对。之后,我们使用 if-else 语句来检查代码中是否存在电话对象。
用户可以观察当电话对象存在时控制转到 if 块的输出。
<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 运算符。
以上是JavaScript 中如何检查对象是否存在?的详细内容。更多信息请关注PHP中文网其他相关文章!