为了账号安全,请及时绑定邮箱和手机立即绑定

关于arguments属性的问题

这里我自己试了一下,结果跟老师讲的不太一样诶~第三个参数没有传进来,但仍可以对第三个参数进行操作啊,加上严格模式后,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);


正在回答

1 回答

在听一遍吧。用了严格模式arguments是传进来参数的副本。

你可以分别看下x,y,z的值是多少!

0 回复 有任何疑惑可以回复我~
#1

慕娘5227020 提问者

恩恩,是自己打印错了。
2016-04-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript深入浅出
  • 参与学习       281112    人
  • 解答问题       1020    个

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

进入课程

关于arguments属性的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信