我正在使用一个记录很少的javascript API,并且需要编写回调函数,其中参数尚未记录.作为一个开始步骤,我需要检查传入的内容.如果我知道只有一个输入,我可以将回调函数设置为
function( stuff ){
console.log(stuff);
}
Run Code Online (Sandbox Code Playgroud)
并从那里工作.当我不知道有多少输入时,是否有一种优雅的方式来检查输入?我可以做点什么
function(a,b,c,d,e,f){
console.log(a)
console.log(b) // is this undefined?
console.log(c) // how about now?
....
console.log(f) // if this isn't undefined I need to do it again with more args
}
Run Code Online (Sandbox Code Playgroud)
它会很好,但它很难看.是否有更简单的方法可以找出已将多少个参与者传递给函数?
循环arguments对象:
function f(){
for(var prop in arguments) {
console.log(arguments[prop]);
}
}
f(1); // logs 1
f(1, 2); // logs 1, then 2
Run Code Online (Sandbox Code Playgroud)
与arguments数组类似的对象一样,您也可以for根据其length属性使用常规循环对其进行迭代:
for(var i=0; i<arguments.length; i++) {
console.log(arguments[i]);
}
Run Code Online (Sandbox Code Playgroud)