慕娘5227020
2016-04-20 19:38
这里我自己试了一下,结果跟老师讲的不太一样诶~第三个参数没有传进来,但仍可以对第三个参数进行操作啊,加上严格模式后,x参数的值也一样可以修改。这是怎么回事
function foo(x,y,z){
//'use strict';
console.log('arguments.lenght:'+arguments.length);
console.log('arguments[0]:'+arguments[0]);
arguments[0] = 100;
console.log('arguments[0]:'+arguments[0]);
console.log('arguments[2]:'+arguments[2]);
arguments[2] = 100;
console.log('arguments[2]:'+arguments[2]);
console.log(arguments.callee === foo);
}
foo(1,2);
console.log('foo.name:'+foo.name);
console.log('foo.length:'+foo.length);
在听一遍吧。用了严格模式arguments是传进来参数的副本。
你可以分别看下x,y,z的值是多少!
JavaScript深入浅出
281083 学习 · 1054 问题
相似问题