翼度科技»论坛 编程开发 JavaScript 查看内容

JS中的arguments

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
在 JavaScript 中, arguments 是一个特殊的对象,它代表了函数调用时传递的参数列表。它可以在函数内部访问,用于获取传递给函数的实际参数值。
arguments 对象包含了函数调用时传递的所有参数,无论是否在函数定义时明确声明这些参数。它是一个类数组对象,可以通过索引访问其中的参数值。可以使用 arguments.length 属性获取传递的参数个数。
 


下面是关于  arguments  对象的一些示例:
     arguments  对象中的参数是按照函数调用时的顺序进行存储的,可以通过索引访问它们。
  1. function exampleFunc(a, b, c) {
  2.       console.log(arguments[0]); // 访问第一个参数
  3.       console.log(arguments[1]); // 访问第二个参数
  4. }
  5. exampleFunc(1, 2, 3); // 1,2
复制代码
 
     arguments  对象的长度(即  arguments.length )表示传递给函数的参数个数。
  1. function exampleFunc() {
  2.       console.log(arguments.length); // 参数个数
  3. }
  4. exampleFunc(1, 2, 3); // 3
复制代码
 
     arguments  对象与函数的形参之间存在联系,它们是相互关联的。当传递的参数个数多于形参个数时,可以通过  arguments  对象访问超出形参列表的参数值。
  1. function exampleFunc(a, b) {
  2.       console.log(a); // 访问第一个形参
  3.       console.log(b); // 访问第二个形参
  4.       console.log(arguments[2]); // 访问第三个参数
  5. }
  6. exampleFunc(1, 2, 3); // 1,2,3
复制代码
 


除此之外,还有一些关于  arguments  对象的特性和使用方式:
1.  与剩余参数结合使用:可以使用剩余参数语法与  arguments  对象结合使用,以便同时获取所有参数和访问超出形参列表的参数。
  1. function exampleFunc(a, b, ...rest) {
  2.       console.log(a); // 1
  3.       console.log(b); // 2
  4.       console.log(rest[0]); // 3
  5. }
  6. exampleFunc(1, 2, 3);
复制代码
在上面的例子中, a 和 b 是正常的形参,而 ...rest 则是剩余参数语法,它将剩余的参数作为数组存储在 rest 变量中,其中包括超出形参列表的参数。

2.   callee  属性: arguments  对象具有一个特殊的属性  callee ,它是一个指向当前正在执行的函数的引用。这在递归和匿名函数中特别有用。
[code]function factorial(n) {  if (n

举报 回复 使用道具