如何在 JavaScript 中调用带有部分前缀参数的函数?

如何在 JavaScript 中调用带有部分前缀参数的函数?

JavaScript 函数可以带或不带参数调用。当使用参数调用时,函数将使用作为值传入的参数来执行。当不带参数调用时,该函数将在不传入任何参数的情况下执行。

在某些情况下,需要使用一些参数(但不是全部)来调用函数。这可以通过使用 Function.prototype.apply 方法或使用扩展运算符 ( ... ) 来完成。

使用 Function.prototype.apply 方法

Function.prototype.apply 方法可用于调用带有某些参数的函数,但不是全部参数。 apply 方法的第一个参数是 this 值,后跟要传递给函数的参数数组。

语法

apply(thisArg)
apply(thisArg, argsArray)

参数

  • thisArg - 为调用函数提供的 this 值。如果函数不是严格模式,null 和 undefined 将被替换为 global,原始值将被转换为对象。

  • argsArray 可选 - x 类似数组的对象,指定应调用函数的参数,如果不应向函数提供参数,则指定 null 或未定义。

示例

例如,考虑以下代码 -

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      function add(a, b) {
         return a + b;
      }
      document.getElementById("result").innerHTML = add.apply(null, [1, 2])
   </script>
</body>
</html>

this 值作为第一个参数传递给 apply 方法,参数数组作为第二个参数传递。使用 this 值和作为值传入的参数来调用该函数。

Function.prototype.apply 方法是一种使用某些参数(但不是全部参数)调用函数的强大方法。通过使用 apply 方法,您可以避免对要传递给函数的参数进行硬编码。

使用价差运算符

展开运算符 ( ... ) 可用于调用带有某些参数(但不是全部参数)的函数。

扩展运算符将参数数组扩展为单独的参数。

例如,考虑以下代码 -

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      function add(a, b) {
         return a + b;
      }
      document.getElementById("result").innerHTML = add(...[1, 2])
   </script>
</body>
</html>

参数数组被扩展为单独的参数,并使用这些参数调用函数。

使用bind()方法

Function.prototype.bind() 方法可用于创建一个新函数,该函数调用原始函数并预先添加一些参数。

例如,考虑以下代码 -

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      function add(a, b) {
         return a + b;
      }
      const add1 = add.bind(null, 1);
      document.getElementById("result").innerHTML = add1(2)
   </script>
</body>
</html>

bind 方法的第一个参数是 this 值,其余参数在调用函数时用作函数的参数。在此示例中,this 值作为 null 传递,值 1 作为第一个参数传递给 add 函数。

bind 方法返回一个新函数,使用给定参数调用该函数。在此示例中,使用值 2 调用 new 函数,使用值 1 和 2 调用函数 add。

JavaScript 函数可以带或不带参数调用。在某些情况下,需要使用一些参数(但不是全部)来调用函数。这可以通过使用 Function.prototype.apply 方法或使用扩展运算符 ( ... ) 来完成。

以上就是如何在 JavaScript 中调用带有部分前缀参数的函数?的详细内容,更多请关注编程之家其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)