读书人

arguments与实参的关系,该如何处理

发布时间: 2012-05-11 12:55:37 作者: rapoo

arguments与实参的关系

JScript code
    function agtest(m,n)            {                var x=arguments;                document.write(arguments);                document.write("<br/>");                x[1]=5;                document.write(n+"<br/>");                document.write(x[1]);            }            agtest();

如上代码,当函数调用省略实参时,实参的值为undefined,这个明白。但当给x[1](即arguments[1]亦即本例中的n)赋值后,输出的n的值依然是undefined,求解

[解决办法]
arguments是实参组成的数组

[解决办法]
arguments对象当然是可写的。。无法输出n是因为在调用函数时如果没有传递相应的实参,在函数体内根本就不会创建n这个变量,arguments[1]自然也不会指向变量n的引用,考虑一下下面的代码:
JScript code
function agtest(m, n) {    arguments[0] = 2;    arguments[1] = 'abc';    alert(m);    alert(n);}agtest(1); 

读书人网 >JavaScript

热点推荐