js arguments对象的由来和用法

在JavaScript中,arguments对象是函数内部的内置对象,用于访问传递给函数的参数。它的由来是为了解决JavaScript中函数参数的不确定性问题。
由于JavaScript允许函数具有可变数量的参数,因此无法通过固定数量的参数来传递所有值。为了解决这个问题,JavaScript引入了arguments对象。它是一个类数组对象,包含了传递给函数的参数集合。通过arguments对象,可以在函数内部访问所有传递的参数,而无需明确指定参数的名称。arguments对象在函数内部自动可用,不需要显式创建。它的属性包括callee(指向当前执行的函数)、length(参数的数量)等。可以使用索引来访问特定的参数,例如arguments[0]表示第一个参数,arguments[1]表示第二个参数,以此类推。通过使用arguments对象,可以在函数内部灵活地处理变长参数,并根据需要传递和访问参数值。这对于编写可重用和灵活的函数非常有用,特别是当不确定将会有多少参数传递给函数时。
以下是一个使用arguments对象的JavaScript函数的例子:
function myFunction() {
for (var i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
}

myFunction(1, 2, 3, 4); // 输出:1 2 3 4

在上面的例子中,myFunction是一个接受任意数量参数的函数。通过使用arguments对象,我们可以遍历所有传递给函数的参数,并将它们逐个输出到控制台。

由于JavaScript允许函数有不定数⽬的参数,所以我们需要⼀种机制,可以在函数体内部读取所有参数。这就是arguments对象的由来。
arguments对象包含了函数运⾏时的所有参数,arguments[0]就是第⼀个参数,arguments[1]就是第⼆个参数,以此类推。这个对象只有在函数体内部,才可以使⽤。

var f = function(one) {
console.log(arguments[0]); //1
console.log(arguments[1]); //2
console.log(arguments[2]); //3
}
f(1, 2, 3);
arguments对象除了可以读取参数,还可以为参数赋值(严格模式不允许这种⽤法)
var f = function(a, b) {
arguments[0] = 3; //对a重新赋值
arguments[1] = 2; //对b重新赋值
return a + b;
}
console.log(f(1, 1)); //5
可以通过arguments对象的length属性,判断函数调⽤时到底带⼏个参数。
var f = function() {
return arguments.length;
}
console.log(f(1, 2, 3)); //3
console.log(f(1, 2)); //2
console.log(f(1)); //1
console.log(f()); //0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zz_ll9023one

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值