检查 JavaScript 函数的未知数量的输入
examining unknown number of inputs to a javascript function
我正在使用一个文档非常差的javascript API,并且需要在参数尚未记录的地方编写回调函数。作为开场步骤,我需要检查传入的内容。如果我知道只有一个输入,我可以将回调函数设置为
function( stuff ){
console.log(stuff);
}
并从那里开始工作。当我不知道有多少输入时,有没有一种优雅的方法来检查输入?我可以做类似的事情
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
}
它会正常工作,但它非常丑陋。有没有更简单的方法来找出有多少参数被传递给一个函数?
循环arguments
对象:
function f(){
for(var prop in arguments) {
console.log(arguments[prop]);
}
}
f(1); // logs 1
f(1, 2); // logs 1, then 2
由于arguments
是一个类似数组的对象,您还可以根据其length
属性使用常规for
循环对其进行迭代:
for(var i=0; i<arguments.length; i++) {
console.log(arguments[i]);
}
看起来你在 arguments
之后,它给你一个传递给当前函数的参数数组:
var f = function() {
console.log(arguments);
}
f(1, '2');
f(1, 2, 3, 4, 5);
(小提琴)
使用参数
function unknown() {
for (var i=0;i<arguments.length;i++) {
console.log('arg '+i+' : ',arguments[i]);
}
}
unknown(123, 'test', [1, 2, 3]);
arg 0 : 123
arg 1 : test
arg 2 : [1, 2, 3]
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 名称输入的索引
- 如何编写HTML输入的JS内联
- 要求输入在数据列表中
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 如何将输入(type=text)从html表单传递到javascript函数
- 单击jquery清除输入值
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- jQuery自定义验证比较多个输入的序列
- Sails.js:同时发布文本输入和一个文件
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 使用jquery在单击时在单元格中输入值
- Ajax文件加载和<输入>文件加载
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 将值输入到对象,然后该对象推送到数组
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色