JavaScript arguments是什么
在本文中,我们将详细了解JavaScript中的 arguments 对象。包括什么是JavaScript中的 arguments对象 ,然后我们将讨论使用 arguments 对象的一些程序。
我们将讨论以下几点:
- JavaScript中的 arguments 是什么
- 与 arguments对象 相关的程序。
arguments 是一个只在函数内部可用的对象。可以将其视为除了JavaScript中的箭头函数以外的所有函数默认可用的局部变量。
这个对象(arguments)用于访问传递给函数的参数。它只在函数内部可用,我们无法在函数外部访问它。arguments对象允许您访问传递给函数的所有参数。我们可以使用索引访问这些参数。
示例: 让我们通过一个简单的示例来理解arguments:
Javascript
<script>
function hello() {
console.log(arguments[0]);
}
hello("GFG");
</script>
输出:
GFG
解释: 在这个示例中,我们将“GFG”作为参数传递给函数hello()。 如我们所知,可以使用索引从参数对象arguments中访问传递给函数的参数。这类似于使用索引访问数组元素。
由于我们只给函数hello( )传递了一个参数,所以该参数会位于 索引0 。 我们可以使用以下语法来访问它:
arguments[0]
示例: 考虑以下示例:
JavaScript
<script>
function hello() {
console.log(arguments[1]);
}
hello("GFG");
</script>
输出:
undefined
解释: 上面示例的输出是 undefined ,因为我们只传递一个参数给 hello() 函数,这个参数将会位于0号索引位置。但是在这里我们访问的是 arguments[1],这个参数是不存在的。所以它的输出是 undefined 。
示例: 为了处理上述情况,我们需要 传递两个参数 给 hello() 函数,这样它才能给出正确的输出。
JavaScript
<script>
function hello() {
console.log(arguments[1]);
}
hello("GFG", "Welcome to all");
</script>
输出:
Welcome to all
示例: 使用参数对象的程序。
JavaScript
<script>
var arguments = [1, 2, 3];
var a = () => arguments[2];
a();
function func(n) {
var f = () => arguments[0] + n;
return f();
}
console.log(func(3));
</script>
输出:
6
解释: 大多数学生会以为输出应该是4。因为我们将n=3作为参数传递给函数func,并且arguments[0] = 1,因为在参数数组的第0个索引位置上我们有1。所以输出应该是(3+1) = 4。但是这不是正确的输出。正确的输出是6。正如我们之前讨论过的,arguments对象是局部于函数的,用来访问传递给它的参数。
因为我们将n=3作为参数传递进去。所以在arguments对象中,我们只有一个变量,即3。而且n=3,因为我们将值3传递给func函数。所以arguments[0]=3(这个arguments不是指的外部数组,而是指的函数内部的arguments对象),n=3。
Total = arguments[0] + n => 3+3 = 6
示例: 通过使用arguments对象找到传递给函数的参数的总和。
Javascript
<script>
function func(n) {
var sum = 0;
for(var i = 0; i < arguments.length; i++) {
sum = sum + arguments[i];
}
return sum;
}
var s = func(1, 2, 3, 4, 5);
console.log("Sum is :" + s);
</script>
输出:
Sum is :15
示例: 使用arguments对象来找出参数的长度。
JavaScript
<script>
function func(n) {
console.log("Length is: " + arguments.length);
}
func(1, 2, 3, 4, 5);
</script>
输出结果:
Length is: 5
极客教程