You can use preload.apply
(apply is available from the Function
object's, Function.prototype.apply
), which can spread out an array of data as arguments, like this
preload.apply(this, myArray);
For example,
function printer(first, second, third) {
console.log(first, second, third);
}
printer(1, 2, 3);
# 1 2 3
printer([1, 2, 3]);
# [1, 2, 3] undefined undefined
printer.apply(this, [1, 2, 3]);
# 1 2 3
Since the number of arguments can vary, people normally use arguments
special object.
You can get the list of arguments as an array, within the function, like this
function printer() {
console.log(Array.prototype.slice.call(arguments));
}
printer(1, 2, 3);
# [ 1, 2, 3 ]
printer([1, 2, 3]);
# [ [ 1, 2, 3 ] ]
printer.apply(this, [1, 2, 3]);
# [ 1, 2, 3 ]
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…