js中函数命名参数和arguments对象

来源:互联网 发布:网络侵权法律法规 编辑:程序博客网 时间:2024/05/18 00:27

arguments对象会自动同步命名参数,而命名参数不会影响arguments,这种同步是单向的,不过,这并不是说读取这两个值会访问相同的内存空间,他们的内存空间是独立的,但是值会同步,如果只传递一个参数,arguments[1]的设置的值不会反应到命名参数,这是因为arguments对象的长度是由传入的参数个数决定的,不是由定义的函数时的命名参数的个数决定,咩有传递值的命名参数将自动被赋予undefined.严格模式对arguments对象作出了一些限制,即使arguments[1]设置为10,num2的值仍然是undefined;重写arguemnts的值会导致语法错误

function func(num1,num2){    arguments[1] = 100;    console.log(num1+num2)} func(1,2);101
原创粉丝点击