关于函数,ECMAScript和其他语言有所不同,它不介意传递进函数的参数有多少个,也不介意传递的参数是什么数据类型。也就是说,即便你定义函数接收两个参数,函数在被调用时可以接收一个或者三个甚至更多个参数,解析器都可以相应处理。
函数接收到的参数会被存储到名为arguments的数组对象里,可以通过操作该对象来访问各个参数,实例如下:
function a(){ console.log(arguments.length); console.log(arguments[0]); } a('hello','world'); // 输出 2 和 'hello' a('js'); // 输出 1 和 'js' a(); //输出 0 和 undefined