`
陈英杰_-_
  • 浏览: 17248 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

JS arguments对象

阅读更多
 
每天一对象,JS天天见,今天我们来看看arguments对象及属性。arguments对象不能显式创建,arguments对象只有函数开始时才可用。函数的 arguments 对象并不是一个数组,访问单个参数的方式与访问数组元素的方式相同。索引 n 实际上是arguments 对象的 0…n 属性的其中一个参数。

  下面的示例演示了 arguments 对象的用法,arguments对象和Function是分不开的。
 1function ArgTest(a, b){
 2   var i, s = "The ArgTest function expected ";
 3   var numargs = arguments.length;     // 获取被传递参数的数值。
 4   var expargs = ArgTest.length;       // 获取期望参数的数值。
 5   if (expargs < 2)
 6      s += expargs + " argument. ";
 7   else
 8      s += expargs + " arguments. ";
 9   if (numargs < 2)
10      s += numargs + " was passed.";
11   else
12      s += numargs + " were passed.";
13   s += "\n\n"
14   for (i =0 ; i < numargs; i++){      // 获取参数内容。
15   s += "  Arg " + i + " = " + arguments[i] + "\n";
16   }
17   return(s);                          // 返回参数列表。
18}

  以上是arguments对象,由于和Function对象紧密地联系在一起。也就是说每一个函数都有自己的argument属性。下面我们来看看argument属性:为当前执行的 function 对象返回一个arguments 对象,function 参数是当前执行函数的名称,可以省略。

   通过 arguments 属性(相对于Function来说),函数可以处理可变数量的参数。arguments 对象的 length 属性包含了传递给函数的参数的数目。对于arguments 对象所包含的单个参数,其访问方法与数组中所包含的参数的访问方法相同。请看下面的例子:
 1function ArgTest(){
 2   var i, s, numargs = arguments.length;
 3   s = numargs;  
 4   if (numargs < 2)
 5      s += " argument was passed to ArgTest. It was ";
 6   else
 7      s += " arguments were passed to ArgTest. They were " ;
 8   for (i = 0; i < numargs; i++)
 9      {
10         s += arguments[i] + " ";
11      }
12   return(s);
13}

   我们知道每一个对象都有自己的属性,arguments对象也不例外,首先arguments的访问犹如Array对象一样,用0到arguments.length-1来枚举每一个元素。下面我们来看看callee属性,返回正被执行的 Function 对象,也就是所指定的 Function 对象的正文。callee 属性是 arguments 对象的一个成员,仅当相关函数正在执行时才可用。callee 属性的初始值就是正被执行的 Function 对象,这允许匿名的递归函数。
1function factorial(n){
2  if (n <= 0)
3  return 1;
4  else
5    return n * arguments.callee(n - 1)
6}
7print(factorial(3));
8
  
  到这里基本上把arguments对象给讲完了,不知还有其他的东西吗?其实很多东西我们都已经很熟悉了,除了上述的callee属性外,其他的我们都时不时在应用他们。OK,今天的对象学习就到这里了,明天要看的对象将是Boolean对象。
分享到:
评论

相关推荐

    arguments对象的使用

    4. **arguments对象与形参的关系**:如果函数定义了形参,那么形参变量会自动绑定到`arguments`对象中对应的值。例如,函数`function foo(a, b) { console.log(a, b); }`调用`foo(1, 2)`时,`a`和`b`将分别得到`...

    js arguments对象应用介绍

    在JavaScript中,所有的函数参数都会被自动存储在arguments对象中,它是一个类数组对象,允许我们在函数内部通过这个对象访问所有传递给函数的参数。 在正式开始之前,先简要回顾一下arguments对象的基本概念。...

    Arguments对象作用深度研究.pdf

    Arguments对象是JavaScript中一个特殊的数据结构,主要用于在函数内部存储传递给函数的所有参数。无论函数定义了多少个参数,Arguments对象都会包含所有实际传递的参数。这篇深度研究主要探讨了Arguments对象的几个...

    javaScript arguments 对象使用介绍

    JavaScript中的`arguments`对象是一个非常实用的特性,它允许函数接收任意数量的参数,而不仅仅是预先定义好的。在JavaScript函数内部,`arguments`对象提供了一种访问这些参数的方法,无论函数声明时指定了多少参数...

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

    JavaScript中的arguments对象是一个特殊对象,它代表当前正在执行的函数的参数集合。这个对象可以在函数体内直接使用,无须提前声明参数名即可访问参数。每一个JavaScript函数作用域内都有一个名为arguments的局部...

    JS:arguments

    ### JavaScript中的`arguments`对象详解 在JavaScript编程中,`arguments`对象是一个非常有用的特性,尤其是在处理函数调用时不确定参数数量的情况下。虽然它不是ECMAScript标准的一部分,但所有主流浏览器都支持这...

    javascript内置对象arguments详解

    总结起来,arguments对象是JavaScript函数中一个非常有用的特性,尤其是在处理不确定数量参数的函数时。它虽然不是一个数组,但是提供了足够的方法来访问和操作函数的参数。通过学习如何利用arguments对象,我们可以...

    Javascript中的arguments对象

    JavaScript中的arguments对象是一个非常有用的内置对象,它存在于所有函数体内,特别是当函数被调用时。它为函数提供了一种访问所有传递给函数的参数的方法。由于JavaScript本身不支持函数重载的机制,arguments对象...

    理解Javascript函数形式参数与arguments

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

    JavaScript的arguments对象应用示例

    JavaScript中的arguments对象是函数内预定义的一个类数组对象,它包含了传递给函数的所有参数值。尽管在现代JavaScript开发中,ES6引入了更灵活的参数处理方式,如rest参数和默认参数,但在学习和理解JavaScript时,...

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

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

    js中arguments对象的深入理解

    本文主要给大家介绍了关于js中arguments对象的相关内容,下面话不多说了,来一起看看详细的介绍吧 一、在函数调用的时候,浏览器每次都会传递进两个隐式参数 函数的上下文对象this 封装实参的对象arguments 二、...

    Javascript中arguments对象详解

    在JavaScript编程中,arguments对象是一个非常有用的概念,尤其是在处理函数参数方面。在许多编程语言中,如PHP,函数参数可以设置默认值,这样当调用函数时,如果缺少参数,就会自动使用预设的默认值。但在...

    深入解析JavaScript中的arguments对象

    在JavaScript编程中,arguments对象是一个非常重要的内置对象,它在函数内被自动创建,用以存储函数接收到的所有参数。虽然它看起来像数组,也拥有类似数组的访问方式,但arguments并不是一个真正的数组对象,因此它...

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

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

    JavaScript中如何通过arguments对象实现对象的重载

    但在JavaScript中,我们可以通过`arguments`对象来模拟实现类似的功能。 `arguments`对象是一个类数组对象,它包含了函数调用时传入的所有实际参数。无论函数定义了多少个形式参数(形参),`arguments`对象总是...

Global site tag (gtag.js) - Google Analytics