函数的参数arguments对象

本文介绍了JavaScript中函数参数的处理方式,包括使用arguments对象来访问实际传递给函数的参数,以及利用arguments.callee实现递归调用。通过具体实例展示了如何获取函数的实参数量及值,并给出了一个计算阶乘的递归示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、函数的参数arguments 对象

-- arguments 表示函数的实际参数(与形参无关)

// js中 函数的参数:形参、实参
function test(a,b,c,d){
 // 函数名.length 等价于 arguments.callee.length,因为arguments.callee代表函数本身, 程序开发中建议使用后者
 console.log(test.length); // 4 ,函数形式参数的数量

  // 函数的实际参数,内部就是用一个数组去接收函数的实际参数
  // arguments 对象 可以访问函数的实际参数
  // arguments 对象 只能在函数的内部访问和使用
  console.log(arguments.length); // 获取 函数 的实参 的数量 test(10,20) 输出为:2
  console.log(arguments[0]); // 获取第一个 实参 的值 test(10,20) 输出为:10
  console.log(arguments[1]); // 获取第二个 实参 的值 test(10,20) 输出为:20
}
test(10,20);

2、callee函数(回调函数属性)

-- arguments 对象的秘密属性,callee属性

--这个属性比较奇怪,它能返回arguments对象所属的函数的引用,这相当于在自己的内部调用自己

-- arguments 对象用得最多的还是做递归操作

function fact(num){
 if(num <= 1){
  return 1;
 }else{
  return num * arguments.callee(num-1);
 }
}
console.log(fact(5)); // 120


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值