关于arguments属性的问题

来源:6-4 [JavaScript]函数属性arguments

慕娘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);


写回答 关注

1回答

  • 慕妹5044199
    2016-04-21 15:40:43
    已采纳

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

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

    慕娘5227...

    恩恩,是自己打印错了。

    2016-04-21 16:31:21

    共 1 条回复 >

JavaScript深入浅出

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

281112 学习 · 1020 问题

查看课程

相似问题