在 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 中的对象。
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 如何在 JavaScript 中检查一个值是否类似于对象?