- 可以使用argumnents对象来访问参数
- arguments对象只是与数组类似(它并不是Array的实例),但是可以使用数组的方式来访问它
- arguments对象可以与命名参数一起使用
function doAdd(num1, num2) { if(arguments.length == 1) { alert(num1 + 10); } else if (arguments.length == 2) { alert(arguments[0] + num2); } } doAdd(10); //20 doAdd(30, 20); //50
- arguments的值永远与对应的命名参数保持同步
function doAdd(num1, num2) { //if(arguments.length == 1) { arguments[1] = 10; //} alert(arguments[0] + num2); } doAdd(10, 20); //20 doAdd(30, 20); //50
- 没有传递值的命名参数将自动被赋予undefined值,和定义了没有初始化的变量一样
- ECMAScript中所有的参数传递都是值,不可能通过引用传递参数
转载于:https://my.oschina.net/langgege/blog/1023596