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运算符来检查变量的类型。在这里,我们将检查变量类型是否等于“对象”,这意味着该对象存在;否则,如果我们得到“未定义”或任何其他数据类型,则意味着该变量不是对象类型。

语法

用户可以按照以下语法使用 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.
}

在上面的语法中,对象是包含该对象的变量。

示例

在下面的示例中,我们创建了电话对象,其中包含一些属性和值作为键值对。之后,我们使用 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 中如何检查对象是否存在?的详细内容,更多请关注双恒网络其它相关文章!

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

云资源网 » JavaScript 中如何检查对象是否存在?

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们.。
你们有qq群吗怎么加入?
当然有的,如果你是帝国cms、易优cms、和pbootcms系统的爱好者你可以加入我们的QQ千人交流群https://www.sudo1.com/page-qun.html。
  • 会员数(个)
  • 12310资源数(个)
  •        
  • 资源(G)
  •        
  • 今日下载
  • 1505稳定运行(天)

提供最优质的资源集合

立即查看 了解详情