如何在 JavaScript 中测试函数是否接收了参数?


在 JavaScript 中测试函数是否接收了参数是编写有效代码的重要部分。它允许您确保传递给函数的参数有效,并且格式正确,以便在函数内部使用。在本文中,我们将讨论在 JavaScript 中测试函数是否接收了参数的不同方法。

让我们了解一下“参数”这个术语。“参数”是在函数定义中命名的实体,它指定函数可以接受的参数。它在函数内部充当变量,并在函数被调用时将值传递给函数。

JavaScript 中参数的默认值为 undefined。这意味着如果未向函数提供任何参数,则函数的参数默认将具有 undefined 值。

在 JavaScript 中使用严格不等 (! ==)

JavaScript 中的严格不等 (!==) 是一种比较运算符,仅当两个操作数的值不相等且类型相同才返回 true。与不等运算符相反,严格不等运算符始终将不同类型的操作数视为不同的。

语法

以下是严格不等 (!==) 的语法

x! == y

示例

在以下示例中,我们使用严格不等 (! ==) 来检查函数是否接收了参数。

<!DOCTYPE html>
<html>
<body>
   <script>
      function checkPara(para) {
         if (para !== undefined) {
            return para;
         }
      }
      document.write(checkPara(23)+"<br>"); 
      document.write(checkPara());
   </script>
</body>
</html>

当脚本执行时,它将在 Web 浏览器上生成包含两个值的输出,该输出由执行检查参数是否提供并返回值的脚本触发的事件触发。

示例

考虑以下示例,我们使用typeof 运算符(检查变量、对象或字面量的类型)来检查参数是否不等于字符串“undefined”,例如(typeof param!== "undefined")。如果它匹配条件,则参数将传递给函数。

<!DOCTYPE html>
<html>
<body>
   <script>
      function checkPara(para) {
         if (typeof para !== 'undefined') {
            return para;
         }
      }
      document.write(typeof undefined +"<br>");
      document.write(typeof (() => {})+"<br>");
      document.write(typeof null +"<br>");
      document.write(typeof [] +"<br>");
      document.write(typeof '' +"<br>");
      document.write(typeof 0 +"<br>");
   </script>
</body>
</html>

运行上述脚本后,Web 浏览器将显示脚本中提到的参数类型,然后将它们传递给由运行脚本触发的事件激活的函数。

示例

让我们看一下下面的示例,我们检查参数是否被使用。我们调用函数,传递 undefined,并将其视为参数的值。

<!DOCTYPE html>
<html>
<body>
   <script>
      function paratest(...test) {
         if (test.length) {
            return `exists`;
         } else {
            return `not exists`;
         }
      }
      document.write(paratest(123)+"<br>");
      document.write(paratest(undefined)+"<br>");
      document.write(paratest()+"<br>");
   </script>
</body>
</html>

当脚本执行时,事件被触发,检查条件,并显示参数是否存在的值。

更新于: 2023-01-18

3K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告