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

    在函数体内,标识符arguments是指向实参对象的引用,实参对象是一个类数组对象 arguments[0],arguments.length

      arguments是什么?
      答:1:arguments是收到的实参副本
      在词法分析中, 首先按形参形成AO的属性,值为undefined
      当实参传来时, 再修改AO的相应属性.
      2:并把所有收到实参收集起来,放到一个arguments对象里
      t(a,b,c){},
      调用时: t(1,2,3,4,5) 5个参数
      此时 , AO属性只有a,bc,3个属性, arguments里有1,2,3,4,5, 所有的值

      对于超出形参个数之外的实参, 可以通过arguments来获得
      3:arguments 的索引 从 0, 1,2,....递增,与实参逐个对应
      4:arguments.length 属性代表实参的个数
      5:arguments一定不是数组, 是长的比较像数组的一个对象,虽然也有length属性
      6:arguments每个函数都会有,因此,arguemnts只会在内部找自身的arguments,
      无法引用到外层的arguments
      <script type="text/javascript">
      // 求圆形面积,矩形面积, 三角形面积
      function area () {
      if(arguments.length == 1) {
      alert(3.14 * arguments[0] * arguments[0]);
      } else if(arguments.length == 2) {
      alert(arguments[0] * arguments[1]);
      } else if(arguments.length == 3) {
      alert(arguments[0] + arguments[1] + arguments[2]);
      } else {
      return null;
      }
      }
      area(10,20,30);
      
      </script>

    什么是arguments

    arguments 是是JavaScript里的一个内置对象,它很古怪,也经常被人所忽视,但实际上是很重要的。所有主要的js函数库都利用了arguments对象。所以agruments对象对于javascript程序员来说是必需熟悉的。

    所有的函数都有属于自己的一个arguments对象,它包括了函所要调用的参数。他不是一个数组,如果用typeof arguments,返回的是’object’。虽然我们可以用调用数据的方法来调用arguments。比如length,还有index方法。但是数 组的push和pop对象是不适用的。

    /*
     作者:李宏
     时间:2013-11-14
     说明:方便拼接查询条件,传入参数为两个元素的数组,例:new Array(text,value)
    	返回"{xxx:xxx;xxx2:xxx2;}"这种格式的字符串
    */
    function JoinSearchKey() {
        var result = "{";
        for (var i = 0; i < arguments.length; i++) {
            if (arguments[i] && arguments[i][0] && arguments[i][1]) {
                var key = arguments[i][0].trim();
                var value = arguments[i][1].trim();
                if ((key.length > 0) && (value.length > 0)) {
                    result += arguments[i][0] + ":" + arguments[i][1] + ";";
                }
            }
        }
        result += "}";
        return result;
    }
    
  • 相关阅读:
    Leetcode题解(4):L216/Combination Sum III
    零基础学python-3.1 python基本规则和语句
    3D打印技术之切片引擎(4)
    自己定义struts2中action类型转换器
    Android开发之实现锁屏功能
    用户上传本地磁盘中的一个图片文件作为头像
    微博达人硅谷之歌:Testin云測移动搜索性能測试非常是让人信服
    读《疯狂Java讲义》笔记总结三
    这才是爱情最好的样子
    数据挖掘 与 Web开发何去何从
  • 原文地址:https://www.cnblogs.com/zhhq/p/3974237.html
Copyright © 2011-2022 走看看