zoukankan      html  css  js  c++  java
  • arguments对象

    arguments

    arguments:它是javascript中函数隐含的参数,该对象代表着正在执行的函数和调用它的函数的参数。

    [function.]arguments[n]

    参数function :选项。当前正在执行的 Function 对象的名字。n :选项。要传递给 function 对象的从0开始的参数值索引。

    说明:

    Arguments是在函数调用时,除了指定的参数外,还另外创建的一个隐藏对象。Arguments是一个类似数组但并不是数组的对象。它类似数组是因为访问它的方式和数组一样,可以通过

    argumets[n]这样的方式来访问对应的每个参数的值,还拥有数组长度属性length,其中n的值是从0开始。最重要的一点:arguments对象存储的是实际传递给函数的参数,而不是函数

    声明时所定义的参数列表,而且也不能显示的去创建arguments对象。arguments对象只有在函数开始时才可以用。

    下面是arguments对象的用法:

    function test(a,b,c){
      var funLen = test.length;              // 这个值表示的是函数声明时的参数个数,这里是3            
      var argLen = arguments.length;         // 这个值是实际传递给函数的参数个数,从下面调用可以看出这里只传递了一个值,故值为1
      alert("funLen=" + funLen + " ,argLen=" +  argLen);   // 结果:fuLen=3 ,argLen=1 
    }
    
    test(1);
    

    上面的例子表示arguments对象存储的是实际传递给函数的参数,arguments.length表示的是实际传个函数的参数的个数。上面test.length这种方式也就是通过函数名.length的方式获取到

    的值是函数声明时所定义的参数列表的个数。

    arguments值的修改:

    function test(x,y,a){
      arguments[2] = 10;
      alert("a=" + a);    // 结果是a=10
    }
    
    test(1,2,3);
    

      

    function test(x,y,a) {
      a = 10;
      alert("arguments[2]=" + arguments[2]); // 结果是arguments[2]=10  
    }
    
    test(1,2,3);
    

     arguments不是数组(Array类)的代码:

    Array.prototype.setValue = 1;
    alert(new Array().setValue);   // 1
     
    functiion test(){
      alert(arguments.setValue);  // undefined      
    }
    

    从上面代码运行的结果可以看出,Array对象扩展了一个setValue的属性,并且值为1,但是当调用test()方法是,会发现结果为undefined,这就说明了setValue不是arguments的属性,

    也就是说arguments不是一个数组对象。

    原文地址:http://www.cnblogs.com/AganCN/articles/1206270.html

  • 相关阅读:
    2017.04.05-2017.07.14封闭开发总结
    Android读取Manifest文件下Application等节点下的metadata自定义数据
    MyEclipse Hibernate Reverse Engineering 找不到项目错误
    web服务器决定支持多少人同时在线的因素
    配置servers时,错误:Setting property 'source' to 'org.eclipse.jst.jee.server:hczm' did not find a matching property
    查看端口被占用
    高德开发 android 出现 key 鉴权失败
    Android EventBus
    javascript 中的数据驱动页面模式
    读书笔记之
  • 原文地址:https://www.cnblogs.com/b302/p/4255206.html
Copyright © 2011-2022 走看看