其实,每个函数内部都有一个内建的arguments数组,它能返回函数所接受的所有参数。
例:
function mutiplyByTwo() { var i, ar = []; for(i = 0;i<3;i++) { ar[i] = arguments[i]*2; } return ar; } >> mutiplyByTwo(1,2,3); =>[2,4,6]
其实上面的例子看似arguments像是一个数组,其实它实际上是一个类似数组的对象。
而arguments还有一个值得关注的属性——callee属性。它引用的是当前被调用的函数对象。也就是说我们所建函数的返回值是 arguments.callee,那么这个函数在被调用时就会返回自身的引用。
>> function f() {return arguments.callee;} >> f() f()
此外,我们还可以通过arguments.callee属性来实现匿名函数的递归调用;
例如:
( function (count) { if (count < 5) { alert (count); arguments.callee(++count); } } )(1)
上例alert窗口会弹出四次,分别是1、2、3、4.
相关推荐
本文主要给大家介绍了关于js中arguments对象的相关内容,下面话不多说了,来一起看看详细的介绍吧 一、在函数调用的时候,浏览器每次都会传递进两个隐式参数 函数的上下文对象this 封装实参的对象arguments 二、...
4. **arguments对象与形参的关系**:如果函数定义了形参,那么形参变量会自动绑定到`arguments`对象中对应的值。例如,函数`function foo(a, b) { console.log(a, b); }`调用`foo(1, 2)`时,`a`和`b`将分别得到`...
在JavaScript编程中,arguments对象是一个非常有用的概念,尤其是在处理函数参数方面。在许多编程语言中,如PHP,函数参数可以设置默认值,这样当调用函数时,如果缺少参数,就会自动使用预设的默认值。但在...
ECMAScript中的函数并不介意传递的参数有多少,也不介意是什么类型。由于JavaScript允许函数有不定数目的参数,所以我们需要一种机制,可以在 函数体内 ...这篇文章将详细介绍Javascript中的arguments对象和使用方法。
Arguments对象在JavaScript中扮演的角色之一是模拟方法重载。由于JavaScript语言本身不支持真正的函数重载,即不允许在同一作用域内定义两个或多个同名但参数列表不同的函数,Arguments对象提供了一种变通的方式。...
### JavaScript中的`arguments`对象详解 在JavaScript编程中,`arguments`对象是一个非常有用的特性,尤其是在处理函数调用时不确定参数数量的情况下。虽然它不是ECMAScript标准的一部分,但所有主流浏览器都支持这...
JavaScript中的arguments对象是一个非常有用的内置对象,它存在于所有函数体内,特别是当函数被调用时。它为函数提供了一种访问所有传递给函数的参数的方法。由于JavaScript本身不支持函数重载的机制,arguments对象...
这意味着即使函数没有声明某些参数,如果在调用时提供了这些参数,它们仍然可以在`arguments`对象中找到。 总的来说,`arguments`对象是JavaScript中处理动态参数的强大工具,它允许函数灵活地处理不同数量和类型的...
arguments对象是一个特殊对象,它在每个函数内部都可用,用于存储函数调用时传入的所有参数。即使函数声明中没有定义这些参数,arguments仍然可以捕获它们。arguments对象有一个length属性,表示传入参数的数量。...
在JavaScript中,所有的函数参数都会被自动存储在arguments对象中,它是一个类数组对象,允许我们在函数内部通过这个对象访问所有传递给函数的参数。 在正式开始之前,先简要回顾一下arguments对象的基本概念。...
例如,给形参赋值会改变arguments对象中对应的值,反之亦然。 关于arguments对象的性能问题,arguments对象的存在本身对性能的影响并不大。然而,使用arguments.callee会带来性能问题。arguments.callee是一个指向...
这样,我们就可以使用数组的方法来操作arguments对象中的参数。 最后,如何通过预置的arguments对象创建函数也是值得学习的知识点。我们可以编写一个makeFunc函数,它接受一个函数引用和一系列参数,然后返回一个...
JavaScript中的arguments对象是函数内预定义的一个类数组对象,它包含了传递给函数的所有参数值。尽管在现代JavaScript开发中,ES6引入了更灵活的参数处理方式,如rest参数和默认参数,但在学习和理解JavaScript时,...
- **arguments[n]**:这是访问arguments对象中某个具体参数的方式,其中n是参数的索引值。arguments对象的索引是从0开始的。 - **arguments.length**:表示传递给函数的参数个数,可以用来遍历所有传递给函数的参数...
在JavaScript编程语言中,`arguments`对象是一个非常重要的特性,尤其在处理函数参数时。它不是一个数组,而是一个类数组对象,提供了访问函数调用时传递的所有参数的途径,无论这些参数是否在函数定义中声明。`...