JavaScript中的arguments对象

本文详细介绍了JavaScript中的arguments对象,包括如何使用它来获取传递给函数的所有参数,即使这些参数的数量超过了函数定义中的形式参数数量。此外,还展示了如何利用arguments对象的特性实现函数的功能性和灵活性,如寻找最大数和递归调用。

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

arguments对象被用于函数中,它类似于函数参数组成的数组,但它具有不同于数组的额外属性。
即使实参个数超过形参个数,多余的参数依然可以通过该对象访问。

function maxNum()
{
    
var m = Number.NEGATIVE_INFINITY; //负无穷大
    for(var i=0;i<arguments.length;i++)
    
{//遍历每个参数
        if(arguments[i] > m)
            m 
= arguments[i];
    }

    
return m;
}


var largest = maxNum(1,10,-19,100,999999,89);
document.write(
"largest=" + largest + "<br/>");

function f1(x)
{
    document.write(
"x=" + x + "<br/>");
    arguments[
0= "New"//改变x的值
    document.write("x=" + x + "<br/>");
}


f1(
"Old");

/*arguments对象的callee属性,它指代当前对象的所属函数*/
function factorial(x)
{
    
if(x <= 1)
        
return 1;
    
return x*arguments.callee(x-1); //调用函数本身    
}


document.write(
"5!=" + factorial(5));

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值