此功能最多可接受三个参数。我希望能够将这些参数传递给回调函数,以便我能够在if语句中检查参数。
我检查了控制台日志,如果回调中存在任何参数,并且没有任何参数。
function foobar(x, y, z) {
$("div").fadeOut(300, function() {
if(arguments.length == 1) {
//nothing
} else if(arguments.length == 2) {
$("div").html(x + y).fadeIn(300);
} else if(arguments.length == 3) {
$("div").html(x + y + z).fadeIn(300);
}
});
}
答案 0 :(得分:1)
arguments
指的是最近的函数,所以这里是fadeOut
回调。将foobar
函数的参数分配给新变量:
function foobar(x, y, z) {
var foobarArguments = arguments;
$("div").fadeOut(300, function() {
if(foobarArguments.length == 1) {
//nothing
} else if(foobarArguments.length == 2) {
$("div").html(x + y).fadeIn(300);
} else if(foobarArguments.length == 3) {
$("div").html(x + y + z).fadeIn(300);
}
});
}