首页 > 试题广场 >

下面代码输出的结果为? var func = functi

[单选题]
下面代码输出的结果为?
var func = function(m, n) {
    arguments[0] = 3;
    arguments[1] = 2;
    return m + n;
}
console.log(func(1, 1));
  • 2
  • 5
  • 编译报错,arguments数组未定义
  • 7
arguments用来存函数的实参。
发表于 2018-07-11 20:07:31 回复(0)
更多回答
arguments表示的就是传进来的参数,在函数里面为arguments赋值的情况下外面传进来的参数起不到任何作用,无论如何结果都为5
发表于 2018-08-24 19:45:30 回复(0)
varfunc = function(m, n) {
arguments[0] = m;  //存放传进来第一个参数,也即是m,这里是个变量形参
arguments[1] = n;  //存放传进来第二个参数,也即是n,这里是个变量形参
returnm + n;
}
console.log(func(1, 1)); //2
varfunc = function(m, n) {
arguments[0] = 3; //这里的
arguments[1] = 2;
returnm + n;  //return  arguments[0] + arguments[1] ,这里的值已经被赋予了实参3,实参2,被钳制住了,所以无论再传什么都无效
}
console.log(func(1, 1));//5
编辑于 2018-07-22 00:28:56 回复(0)
无论func(m, n)的参数为多少,上述结果均为5。
发表于 2018-07-17 21:18:53 回复(0)
虽然arguments对象并不是一个数组,但是访问单个参数的方式与访问数组元素的方式相同
发表于 2018-07-10 09:16:50 回复(0)