`
yezhiqiu-love
  • 浏览: 167317 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

可变长度的参数列表:Arguments对象

阅读更多

在一个函数体内,标识符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

    JS:arguments

    Javascript学习笔记之函数篇(四):arguments 对象

    JavaScript中arguments函数对象是该对象代表正在执行的函数和调用它的函数的参数。JavaScript 函数中 arguments 为特殊对象,无需明确指出参数名,就能访问它们。

    arguments对象的使用

    在函数定义时没有形参名称时,向函数传递参数的使用方法。 实例演示了arguments对象的使用方法。

    解决python脚本中error: unrecognized arguments: True错误

    主要介绍了解决python脚本中error: unrecognized arguments: True错误,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    javascript 利用arguments实现可变长参数

    javascript arguments解释,实现可变长参数。 在C#中,有可变长参数params[],但是在js中,如何实现这种可变参数呢? 一、可变长参数 arguments是非常好的解决方法,一直不知道javascript有这个东西。 先来看看应用...

    理解Javascript函数形式参数与arguments

    arguments还有一个特殊的行为,那就是它会将所有的实际参数都当作对象来看待,对于基本数据类型的实际参数则会转换为其对应的对象类型。这可以通过在函数内定义与形式参数同名的变量并赋值来判断。在say函数中,我们...

    Javascript中arguments对象的详解与使用方法

    ECMAScript中的函数并不介意传递的参数有多少,也不介意是什么类型。由于JavaScript允许函数有不定数目的参数,所以我们需要...这就是arguments对象的由来。这篇文章将详细介绍Javascript中的arguments对象和使用方法。

    深入解析JavaScript中的arguments对象

    所有的函数都有一个自己的arguments对象,用来储存它实际接受到的参数,而不局限于函数声明时所定义的参数列表。它不是数组却类似数组,具有数组一样的访问性质及方式,可以由arguments[n]来访问对应的单个参数的值...

    JS函数动态传递参数的方法分析【基于arguments对象】

    js函数体内可以通过arguments对象来接收传递进来的参数,利用这一对象属性可以动态传参。 function box() { return arguments[0]+' | '+arguments[1]; //得到每次参数的值 } alert&#40;box(1,2,3,4,5,6&#41;); //...

    Javascript中的arguments对象

    在js中一切都是对象,连函数也是对象,函数名其实是引用函数定义对象的变量。 1、什么是arguments? 这个函数体内的arguments非常特殊,... 程序中可定义多个相同函数名,不同参数列表的函数,  调用者不必区分每个

    js的隐含参数(arguments,callee,caller)使用方法

    arguments 该对象代表正在执行的函数和调用它的函数的参数。[function.]arguments[n]参数function:选项。当前正在执行的 Function 对象的名字。 n :选项。要传递给 Function 对象的从0开始的参数值索引。说明...

    JavaScript中arguments和this对象用法分析

    本文实例讲述了JavaScript中arguments和this对象用法。分享给大家供大家参考,具体如下: ...当函数被调用时,传入的参数将保存在arguments类数组对象中,通过arguments可以访问所有该函数被调用时传递给它的参数列表。

    Arguments对象作用深度研究.pdf

    Arguments对象作用深度研究.pdf

    深入理解javascript函数参数与闭包

    最近在学习javascript的函数,函数是javascript的一等对象,想要学好... 1.6:arguments对象 2.闭包  2.1:闭包定义  2.2:立即调用的函数表达式(IIFE, Immediately invoked function expression) 1.函数参

    js arguments对象应用介绍

    利用arguments对象可以实现重载,利用arguments.length可以获取函数的参数个数,如下: 代码如下: function hi(){ if(arguments.length==1){ alert&#40;arguments[0]&#41;; } else if(arguments.length==2){ a

    MD5计算及其代码

    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 -...

    Python为何不能用可变对象作为默认参数的值

    先来看一道题目: &gt;&gt;&gt; def func(numbers=[], num=1): ... numbers.append(num) ......&gt;&gt;&gt; func() [1] ...从上面可以看出,函数的返回值其实是同一个列表对象,因为他们的id值是一样的,只不过是列表中

Global site tag (gtag.js) - Google Analytics