在一个函数体内,标识符argumens具有特殊意义。它是引用arguments对象的一个特殊属性。Arguments对象是一个类似数组的对象,可以按照数目获取传递给函数的参数值。Argument对象也定义了callee属性。
arguments对象还为JavaScript函数开发了一个项重要的可能性,即可以编写函数使之能够使用任意数目的实际参数。 下面是一个判断任意个参数中的最大值的例子:
function max( /*...*/){
var m=Number.NEGATIVE_INFINITY;
for(var i=0;i<arguments.length;i++){
if(arguments[i]>m)
{
m=arguments[i];
}
}
return m;
}
像这样能够接受任意数目的参数的函数叫做可变参数函数。
记住:arguments并非真正的数组,他是一个Arguments对象。
属性callee
除了数组元素,Arguments对象还顶一个callee属性,用来引用当前正在执行的函数。这个属性没有太大的用处,但它可以用来允许对未命名的函数递归地调用自身。下面是一个为名的函数直接量,用于计算阶乘:
funciton (x)
{
if(x<=1) return 1;
return x* arguments.callee(x-1);
}
分享到:
相关推荐
JS:arguments
JavaScript中arguments函数对象是该对象代表正在执行的函数和调用它的函数的参数。JavaScript 函数中 arguments 为特殊对象,无需明确指出参数名,就能访问它们。
在函数定义时没有形参名称时,向函数传递参数的使用方法。 实例演示了arguments对象的使用方法。
主要介绍了解决python脚本中error: unrecognized arguments: True错误,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
javascript arguments解释,实现可变长参数。 在C#中,有可变长参数params[],但是在js中,如何实现这种可变参数呢? 一、可变长参数 arguments是非常好的解决方法,一直不知道javascript有这个东西。 先来看看应用...
arguments还有一个特殊的行为,那就是它会将所有的实际参数都当作对象来看待,对于基本数据类型的实际参数则会转换为其对应的对象类型。这可以通过在函数内定义与形式参数同名的变量并赋值来判断。在say函数中,我们...
ECMAScript中的函数并不介意传递的参数有多少,也不介意是什么类型。由于JavaScript允许函数有不定数目的参数,所以我们需要...这就是arguments对象的由来。这篇文章将详细介绍Javascript中的arguments对象和使用方法。
所有的函数都有一个自己的arguments对象,用来储存它实际接受到的参数,而不局限于函数声明时所定义的参数列表。它不是数组却类似数组,具有数组一样的访问性质及方式,可以由arguments[n]来访问对应的单个参数的值...
js函数体内可以通过arguments对象来接收传递进来的参数,利用这一对象属性可以动态传参。 function box() { return arguments[0]+' | '+arguments[1]; //得到每次参数的值 } alert(box(1,2,3,4,5,6)); //...
在js中一切都是对象,连函数也是对象,函数名其实是引用函数定义对象的变量。 1、什么是arguments? 这个函数体内的arguments非常特殊,... 程序中可定义多个相同函数名,不同参数列表的函数, 调用者不必区分每个
arguments 该对象代表正在执行的函数和调用它的函数的参数。[function.]arguments[n]参数function:选项。当前正在执行的 Function 对象的名字。 n :选项。要传递给 Function 对象的从0开始的参数值索引。说明...
本文实例讲述了JavaScript中arguments和this对象用法。分享给大家供大家参考,具体如下: ...当函数被调用时,传入的参数将保存在arguments类数组对象中,通过arguments可以访问所有该函数被调用时传递给它的参数列表。
Arguments对象作用深度研究.pdf
最近在学习javascript的函数,函数是javascript的一等对象,想要学好... 1.6:arguments对象 2.闭包 2.1:闭包定义 2.2:立即调用的函数表达式(IIFE, Immediately invoked function expression) 1.函数参
利用arguments对象可以实现重载,利用arguments.length可以获取函数的参数个数,如下: 代码如下: function hi(){ if(arguments.length==1){ alert(arguments[0]); } else if(arguments.length==2){ a
Arguments (may be any combination): -sstring - digests string -t - runs time trial -x - runs test script filename - digests file (none) - digests standard input 如: MD5_C -x :运行例子 MD5_C -...
先来看一道题目: >>> def func(numbers=[], num=1): ... numbers.append(num) ......>>> func() [1] ...从上面可以看出,函数的返回值其实是同一个列表对象,因为他们的id值是一样的,只不过是列表中