arguments
1.0、参考
1.0、arguments与Array的异同点

任何一个函数内部都会有一个arguments对象, 该对象并不是Array。 而是称为array-likearguments对象可以通过Array.from(arguments)转换为Array

ECMAScript支持可变参数,参数不由函数定义的时候决定,而是由调用的时候决定, 如果你想要表达参数不定的情形,那么你可以使用arguments对象来判断参数个数,以及每个参数的类型等, 从而决定如何实现功能。

示例:

var elements = [];

function add(e) {
    if (arguments.length == 1) {
        elements.push(arguments[0]);
    } else if (arguments.length >= 2) {
        for (var i = 0; i < arguments.length; i++) {
            elements.push(arguments[i]);
        }
    }
}