Home  >  Article  >  Web Front-end  >  How to call a function with partial prefix parameters in JavaScript?

How to call a function with partial prefix parameters in JavaScript?

WBOY
WBOYforward
2023-09-06 21:01:02762browse

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

JavaScript functions can be called with or without parameters. When called with arguments, the function will be executed using the arguments passed in as values. When called without arguments, the function will be executed without passing in any arguments.

In some cases, a function needs to be called with some parameters (but not all). This can be done using the Function.prototype.apply method or using the spread operator ( ... ).

Use Function.prototype.apply method

The Function.prototype.apply method can be used to call a function with some parameters, but not all parameters. The first argument to the apply method is the this value, followed by the array of arguments to be passed to the function.

grammar

apply(thisArg)
apply(thisArg, argsArray)

parameter

  • thisArg - The this value provided for the calling function. If the function is not in strict mode, null and undefined will be replaced with global and the original value will be converted to an object.

  • argsArray Optional - x Array-like object specifying the arguments with which the function should be called, or null or undefined if arguments should not be supplied to the function.

Example

For example, consider the following code -

<!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 value is passed to the apply method as the first parameter, and the parameter array is passed as the second parameter. The function is called using the this value and the arguments passed in as values.

The Function.prototype.apply method is a powerful way to call a function with some arguments (but not all arguments). By using the apply method, you avoid hardcoding the parameters to be passed to the function.

Use spread operator

The spread operator ( ... ) can be used to call a function with some arguments (but not all arguments).

The spread operator expands a parameter array into individual parameters.

For example, consider the following code -

<!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>

The parameter array is expanded into individual parameters and the function is called with these parameters.

Use bind() method

Function.prototype.bind() method can be used to create a new function that calls the original function and prepends some parameters.

For example, consider the following code -

<!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>

The first parameter of the bind method is the this value, and the remaining parameters are used as parameters of the function when calling the function. In this example, the this value is passed as null and the value 1 is passed as the first argument to the add function.

The bind method returns a new function that is called with the given parameters. In this example, the new function is called with the value 2, and the add function is called with the values ​​1 and 2.

JavaScript functions can be called with or without parameters. In some cases, a function needs to be called with some arguments (but not all). This can be done using the Function.prototype.apply method or using the spread operator ( ... ).

The above is the detailed content of How to call a function with partial prefix parameters in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete