前端学习笔记之七——arguments

    每天都要抽空带着问题来学习,这样不至于把学到的知识忘光光,希望自己能持之以恒。学到的知识,如果工作中用不到,真的好容易忘记。所以必须坚持写笔记啦。

     今天的题目是:

          

------------------------------------------------------------

      arguments之前在看视频时有印象,好像是为了解决兼容问题,触发事件常常要这样写:var e=window.event||arguments[0]。后来知道arguments是一个类数组对象。

     正好趁此机会,百度上查一查这个arguments吧。
     1.类数组对象,有length属性,下标索引从0开始,可以通过下标获取值,如arguments[0]、arguments[1],但是没有数组的push、pop等方法;
     2.arguments类数组收集着实参副本,而不是形参;
        如:fun(a,b,c){},调用时fun(1,2,3,4,5),这样arguments里就有1、2、3、4、5这5个值;
     3.arguments每个函数都会有,它包含了函数所要调用的参数。因此arguments只会在内部找自身的arguments,无法应用到外层的arguments。

     4.arguments还有callee属性,这个属性可以调用正在执行的函数。

     5.arguments示例:
         <script>
              function fun(a,b,c){
                   console.log(arguments); //[1,2,3]

                   console.log(arguments[0]); //1
              }
              fun(1,2,3);
         </script>

    

原文地址:https://www.cnblogs.com/vivian2016/p/5841491.html