JS中的arguments对象解析
在函数体内,标识符arguments是指向实参对象的引用,实参对象是一个类数组对象 arguments[0],arguments.lengtharguments是什么?答: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>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。