有时候我有一个回调函数,我想忽略第一个参数,但是要捕获第二个参数。如何用Java语言最雄辩地编写此代码?有没有一种方法可以在函数声明中指定我只想扔掉一个参数?
一种典型的情况是,当我使用jQuery的.each()
方法遍历DOM中的一堆元素时,但是我只关心为回调提供的 second 参数( element
),而我想忽略第一个参数(index
)。
$(selector).each(function (index, element) {
// do something with <element> here
// (but without using <index>)
});
我该如何更改上面的代码,以免根本无法捕获index
?
我尝试在代码中使用undefined
代替index
,但是(令我惊讶的是)导致undefined
在其中充当普通变量(具有指定值)我的回调函数!
function x(undefined) {
console.log(undefined);
}
x("TEST"); // outputs "TEST" on the console!
我还尝试在函数声明中使用true
,false
或null
并得到更合理的Uncaught SyntaxError: Unexpected token X
(其中X为true
,声明函数时使用false
或null
)。为什么在函数声明中使用undefined
不会导致相同的错误,这超出了我的范围。