zoukankan      html  css  js  c++  java
  • arguments

    arguments:

    1、arguments:(类数组)是函数内置接收参数的机制。

      内置:天生自带的,不管你是否传递了形参,也不管是否写了形参,arguments一直都存在。

      : arguments 即能读,又能改,是一个实参的集合。

      (有数字作为索引,索引从0开始代表第几个传递的参数;还有一个length的属性代表传递了多少个参数;除此之外还有callee属性:arguments.callee代表的是当前函数的本身)

        fn1(1,2,3);           // 实参——实际传递参数

      function fn1(a,b,c){}    // 形参——形式上,abc这些名代表123  

    // 即使不写形参的名,也可以进行传递。都存在了arguments里面

    //  arguments => [1,2,3]——实参的集合

    2、fn1(1,2,3);

      function fn1(){

         alert(arguments.length);                 // 3  虽然不是数组,但是也有length属性

         alert(arguments[arguments.length-1]);   // 如果想要找到实参集合中的任何一个,可以类似于通过数组下标的位置找到集合中的任意一个

         alert(arguments[0]);                                 // 1

      };

    3、小实例

      当函数参数的个数无法确定的时候:用arguments

      alert(sum(1,2,3));         // 相加得6

      alert(sum(1,2,3,4));      // 相加得10

      function sum(){

        var n = 0;

        for(var i=0;i<arguments,length;i++){

          n += arguments[i];

        }

        return n;

      };

    4、arguments 与作用域的关系

       var a = 1;

      function fn2(a){

        arguments[0] = 3;

        alert(a);                         // 3

        var a = 2;

        alert(arguments[0]);       // 2

      };

      fn2(a);

      alert(a);                               // 1

  • 相关阅读:
    FrameBuffer系列 之 一点资源
    FrameBuffer系列 之 显示图片
    FrameBuffer系列 之 相关结构与结构体
    FrameBuffer系列 之 介绍
    FrameBuffer系列 之 简单编程
    程序员五大层次,你属于哪一层?
    提高编程效率的14件事
    GTK简单了解记录
    __read_mostly变量含义
    [系统启动]Printk与sched_clock_init的一点分析
  • 原文地址:https://www.cnblogs.com/effieduo/p/5045672.html
Copyright © 2011-2022 走看看