zoukankan      html  css  js  c++  java
  • 经典arguments的js笔记分享:

    在函数体内,标识符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>

  • 相关阅读:
    web十二讲,CSS样式
    web第十一讲,div与span
    web第十讲,CSS基础
    git 版本回退后再恢复
    git 变更远程仓库及在本地的别名
    使用FastClick插件,无法监听双击事件
    声明式编程的没落
    gradle 很棒
    评 PowerShell
    VB 的一些歧义(不断更新)
  • 原文地址:https://www.cnblogs.com/yuanguliang/p/6628512.html
Copyright © 2011-2022 走看看