1.函数参数的特性:函数
function doAdd(num1, num2) { arguments[1] = 10; alert(arguments[0] + num2); }
arguments对象中的值会自动反映到对应的命名参数,因此修改 arguments[1],也就修改了 num2;
虽然它们的值会同步,但它们的内存空间是独立的,并不会访问到同一内存空间;
若是只传入了一个参数,那么为 arguments[1]设置的值不会反应到命名参数中。这是由于 arguments 对象的长度是由传入的参数个数决定的,不是由定义函数时的命名参数的个数决定的。(这也说明它们并非指向同一内存空间)学习
2.ECMAScript没有相似Java那样的重载函数功能,若是有同名函数,那么后定义的函数覆盖了先定义的函数。code