首页 >web前端 >js教程 >如何在 JavaScript 中检查一个值是否类似于对象?

如何在 JavaScript 中检查一个值是否类似于对象?

WBOY
WBOY转载
2023-08-24 16:13:02538浏览

如何在 JavaScript 中检查一个值是否类似于对象?

在 JavaScript 中,类似对象值是一个不是原始值且不是未定义的值。类对象值是非原始值的任何值,包括函数、数组和对象。 JavaScript 中有不同的方法来检查值是否为对象。在本文中,我们将介绍在 JavaScript 中检查值是否类对象的 3 种方法。

使用 typeof 运算符

typeof 运算符是 JavaScript 中的内置运算符,用于检查值的类型。 typeof 运算符返回一个字符串,该字符串是值的类型。 typeof 运算符可用于检查 JavaScript 中的值是否类似于对象。

示例 1

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      document.getElementById("result1").innerHTML ="typeof {}: " + typeof {};
      document.getElementById("result2").innerHTML ="typeof []: " + typeof [];
      document.getElementById("result3").innerHTML ="typeof function(){}: " + typeof function(){};
   </script>
</body>
</html>

下面是对上述代码片段的详细解释:

在 script 标记中的第一个语句中,我们正在检查空对象 {} 的类型。这 typeof 运算符返回空对象的字符串“object”。在第二个声明中, 我们正在检查空数组 [] 的类型。 typeof 运算符返回字符串 “object”表示空数组。在第三个语句中,我们正在检查 an 的类型 匿名函数 function(){}。 typeof 运算符返回字符串“function” 匿名函数。

使用instanceof运算符:

instanceof运算符是JavaScript中的内置运算符,用于检查值是否 是构造函数的实例。 instanceof 运算符返回一个布尔值 value,如果该值是构造函数的实例,则为 true;如果是 value 不是构造函数的实例。可以使用instanceof运算符 检查 JavaScript 中的值是否类似于对象。

示例 2

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      document.getElementById("result1").innerHTML = "Is {} an instance of Object: " + ({} instanceof Object);
      document.getElementById("result2").innerHTML = "Is [] an instance of Array: " +([] instanceof Array);
      document.getElementById("result3").innerHTML ="Is function(){} is an instance of Function: " + (function(){} instanceof Function);
   </script>
</body>
</html>

在脚本标签中,在第一个语句中,我们检查空对象 {} 是否是一个 对象构造函数的实例。 instanceof 运算符返回 空对象的布尔值 true。在第二个语句中,我们检查是否 空数组[]是Array构造函数的一个实例。实例操作符 对于空数组返回布尔值 true。在第三个语句中,我们正在检查 如果匿名函数 function(){} 是 Function 构造函数的实例。 对于匿名函数,instanceof 运算符返回布尔值 true。

Object.prototype.toString() 方法:

Object.prototype.toString() Strong> 方法是 JavaScript 中的内置方法,用于将对象转换为字符串。 Object.prototype.toString() 方法可用于检查 JavaScript 中的值是否类似于对象。

示例 3

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      document.getElementById("result1").innerHTML = Object.prototype.toString.call({})
      document.getElementById("result2").innerHTML = Object.prototype.toString.call([])
      document.getElementById("result3").innerHTML = Object.prototype.toString.call(function(){})
   </script>
</body>
</html>

在脚本标记内的第一个语句中,我们使用 Object.prototype.toString() 方法将空对象 {} 转换为字符串。这 Object.prototype.toString() 方法返回字符串“[object Object]” 空对象。

在 script 标记内的第二个语句中,我们使用 Object.prototype.toString() 方法将空数组[]转换为字符串。这 Object.prototype.toString() 方法返回空字符串“[object Array]”

在第三条语句中,我们使用 Object.prototype.toString() 方法来 将匿名函数 function(){} 转换为字符串。这 Object.prototype.toString() 方法返回字符串“[object Function]” 匿名函数。

结论

在本教程中,我们研究了三种不同的方法来检查值是否类似于对象 JavaScript。我们研究了 typeof 运算符、instanceof 运算符和 Object.prototype.toString() 方法。所有这些方法都可以用来检查一个值是否是 类似于 JavaScript 中的对象。

以上是如何在 JavaScript 中检查一个值是否类似于对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除