如何在JavaScript中检查空值?


在这篇文章中,我们将学习如何在JavaScript中检查空值。**空值**表示故意缺少任何对象值。它是JavaScript中的一个原始值,在布尔运算中为假。这将**null**与相关的原始值undefined区分开来,undefined是意外缺少任何对象值。这是因为声明但未赋值的变量是undefined而不是null。

您可以使用现实世界的类比将变量想象成一个盒子。盒子可以容纳诸如茶壶之类的东西,就像变量一样。但是,当您打开一个盒子却发现里面什么也没有!您收到的是一个空包裹,因为有人犯了错误。盒子具有空值,这也就是表示它什么也不包含的另一种说法。

在JavaScript中,有几种方法可以检查值是否为空。

  • 使用严格相等运算符(===)
  • 使用Object.is()函数
  • 使用typeof运算符

使用严格相等运算符(===)

在这种方法中,我们将学习如何使用(===)运算符来检查空值。此测试仅对**null**有效,而对"",**undefined,false,0**或**NaN**无效。

语法

以下是使用严格相等运算符的语法:

let result = ( v === null );

返回值

  • **v === null** - 此参数检查变量“v”中存储的值是否等于null。相应地,它返回true或false。

算法

  • **步骤1** - 我们看到声明了一个变量**v**并将其初始化为空值。

  • **步骤2** - 然后我们使用if语句检查变量是否为空,如果为真,则在用户的屏幕上显示相应的提示信息。

示例

下面的示例演示了如何使用严格相等运算符(===)来检查JavaScript中的空值。

<!DOCTYPE html>
<html>
<head>
   <title> Check for null values in JavaScript </title>
</head>
<body>
   <h2>Check for null values using the strict equality operator.</h2>
   <div id="output"> </div>
   <script>
      let output = document.getElementById("output");
      var v = null;
      if (v === null) {
         output.innerHTML = "Value is null";
      } else {
         output.innerHTML = "Value is not null";
      }
   </script>
</body>
</html>

在上面的输出中,正在检查变量是否为空,并且该值正在if块中执行,该变量包含空值。

使用Object.is()函数

JavaScript中的**Object.is()**函数比较两个值以查看它们是否相同。布尔值指示函数中的两个参数的值是否相同。如果两个值都为空,则这两个值可能相同。

语法

以下是Object.is()函数的语法:

Object.is( q, null );

参数

  • **q** - 要传递到函数中的变量,该变量初始化为空值。

  • **null** - 此参数为空值。

算法

  • **步骤1** - 我们声明一个名为q的变量并将其设置为**null**。

  • **步骤2** - 然后,给定输入q和一个空值,我们使用if语句检查Object.is()方法来确定两者是否相同。

  • **步骤3** - 如果它们的值相同,则在用户的屏幕上显示相应的提示信息。

示例

在下面的程序中,我们使用**Object.is()**函数来检查空值。

<!DOCTYPE html>
<html>
<head>
   <title>Check for null values in JavaScript</title>
</head>
<body>
   <h2>Check for null values using the JavaScript Object.is() method.</h2>
   <div id="output"> </div>
   <script>
      let output = document.getElementById("output");
      var q = null;
      if (Object.is(q, null)) {
         output.innerHTML = "Value is null";
      } else {
         output.innerHTML = "Value is not null";
      }
   </script>
</body>
</html>

在上面的输出中,正在检查变量是否为空,并且该值正在使用true语句打印,该变量包含空值。

使用typeof运算符

**typeof**运算符可用于确定JavaScript变量的数据类型。这里我们将typeof运算符与空运算符一起使用。(!variable)表示该值不为空,如果使用typeof运算符检查具有对象数据类型的变量,则该值为null。

语法

以下是typeof运算符的语法:

typeof var;

这里**var**是要检查其数据类型的变量,并用作参数。

算法

  • **步骤1** - 我们声明一个名为a的变量并将其设置为null。

  • **步骤2** - 然后我们检查变量的补集及其数据类型是否为对象。

  • **步骤3** - 如果两个条件都匹配,则该值被认为等于null。

  • **步骤4** - 在用户的屏幕上显示相应的提示信息。

示例

在这个例子中,我们使用JavaScript typeof运算符来检查给定变量的值是否等于null。

<!DOCTYPE html>
<html>
<head>
   <title>Check for null values in JavaScript </title>
</head>
<body>
   <h2>Check for null values using the JavaScript typeOf operator.</h2>
   <div id="output"> </div>
   <script>
      let output = document.getElementById("output");
      var a = null;
      if (!a && typeof a === "object") {
         output.innerHTML = "Value is null";
      } else {
         output.innerHTML = "Value is not null";
      }
   </script>
</body>
</html>

在上面的输出中,正在检查变量是否为空,并且该值正在if块中执行,该变量具有空值。

结论

在本教程中,我们使用了三种方法来检查JavaScript中的空值。

在第一种方法中,我们使用了严格的相等运算符并展示了如何比较两个空值。

第二种方法很有用,因为它使用Object.is()函数来检查和比较两个空值。

第三种方法是使用typeof运算符,它检查变量的值和其数据类型以返回它是否为空值。

文章中的所有这些方法都总结了如何在JavaScript中检查空值。

更新于:2022年7月22日

19K+ 浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.