码迷,mamicode.com
首页 > Web开发 > 详细

JS中的arguments对象解析

时间:2017-05-20 12:15:53      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:pop   3.1   分析   nts   递增   data-   null   else   圆形   

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


JS中的arguments对象解析

标签:pop   3.1   分析   nts   递增   data-   null   else   圆形   

原文地址:http://www.cnblogs.com/jzdwajue/p/6881704.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!