• 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

  • 相关阅读:
    Data Mining | 二分类模型评估-ROC/AUC/K-S/GINI
    Data Mining | 二分类模型评估-混淆矩阵
    Data Mining | 数据挖掘技术基础与进阶
    Data Mining | 数据挖掘概要和方法论
    python | 模块与第三方库的安装
    SAS | 数据EDA及代码
    SAS | 数据读入思路及代码
    python | 自定义函数
    SAS | 使用SAS数据
    SAS | 逻辑库和SAS数据集
  • 原文地址:https://www.cnblogs.com/b302/p/4255206.html
Copyright © 2020-2023  润新知