Home > Web Front-end > JS Tutorial > body text

How to use arguments object in JavaScript? (Usage introduction)

不言
Release: 2019-01-19 10:44:02
forward
3055 people have browsed it

The content of this article is about how to use the arguments object in JavaScript? (Usage introduction), it has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

arguments is an array-like object that corresponds to the arguments passed to the function.

Syntax

arguments
Copy after login

Description

arguments objects are local variables available in all functions. You can use the arguments object to reference a function's arguments within a function. This object contains an entry for each parameter passed to the function, with the index of the first entry starting at 0. For example, if a function is passed three arguments, you can refer to them as follows:

arguments[0]
arguments[1]
arguments[2]
Copy after login

Parameters can also be set:

arguments[1] = 'new value';
Copy after login

The arguments object is not an Array . It is similar to an array, but does not have any array properties except length. For example, it doesn't have a pop method. But it can be converted to a real array::

let args = Array.prototype.slice.call(arguments); 
let args = [].slice.call(arguments);
Copy after login

You can also use the Array.from() method or spread operator to convert arguments to a real array:

let args = Array.from(arguments);
let args = [...arguments];
Copy after login

Pair parameters Using slices will prevent optimizations in some JavaScript engines (such as the V8 engine).

If you care about them, try constructing a new array by looping over the arguments object.

Another approach is to use the ignored/despised/disdained,/despised Array constructor as a function:

let args = (
arguments.length === 1 ? [arguments[0]] : 
Array.apply(null, arguments)
);
Copy after login

If Array generics are available, the following code can be used as an alternative

var args = Array.slice(arguments);
Copy after login

The arguments object is only valid inside the function. Calling the arguments object outside the function will cause an error.

typeof of arguments returns 'object'.

console.log(typeof arguments); // 'object'

You can use the index to determine the type of each argument.

console.log(typeof arguments[0]); 
//这将返回单个参数的typeof。
Copy after login

If you call a function with more arguments than it explicitly declares, you can use the arguments object. This technique is useful for functions with a variable number of parameters. You can use arguments.length to get the number of arguments, and then use the arguments object to process each argument. (To get the number of parameters for a function signature, use the Function.length property.)

Properties

arguments.callee
// 指向当前执行的函数。
arguments.caller 
// 指向调用当前函数的函数。
arguments.length
// 指向传递给当前函数的参数数量。
Copy after login

Example

Define a function to concatenate several strings

This example defines a function to concatenate strings. The only officially declared argument to this function is a string, which specifies a character as the join point to concatenate the strings. The function is defined as follows:

function myConcat(separator) {
  var args = Array.prototype.slice.call(arguments, 1);  
  return args.join(separator);
}
Copy after login

You can pass any number of arguments to this function, and the function will create a list with each argument as an entry.

myConcat(", ", "red", "orange", "blue");
// returns "red, orange, blue"
myConcat("; ", "elephant", "giraffe", "lion", "cheetah");
// returns "elephant; giraffe; lion; cheetah"
myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");
// returns "sage. basil. oregano. pepper. parsley"
Copy after login

Define a method to create an HTML list

This example defines a function to create an HTML list from a string. The only officially declared argument to this function is a character. When the argument is "u", an unordered list (a list of items) is created; when the argument is "o", an ordered list (a numbered list) is created. The function is defined as follows:

function list(type) {
  var result = "<" + type + "l><li>";
  var args = Array.prototype.slice.call(arguments, 1);
  result += args.join("</li><li>");
  result += "</li></" + type + "l>"; // end list
  return result;
}
Copy after login

You can pass any number of arguments to this function, and the function will add each argument as an entry to a list of the type specified by the first argument.

var listHTML = list("u", "One", "Two", "Three");
/* listHTML is:
"<ul><li>One</li><li>Two</li><li>Three</li></ul>"
*/
Copy after login

Note

arrow functions in ES6 do not have their own arguments objects, but in most cases, restThe parameter can give a solution:

let a;
const fn = (...rest) => Array.prototype.slice.call(rest, 1);
a = fn(1, 2); // [2]
Copy after login

The above is the detailed content of How to use arguments object in JavaScript? (Usage introduction). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:cnblogs.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!