Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将函数参数传递给淡出回调_Javascript_Jquery - Fatal编程技术网

Javascript 将函数参数传递给淡出回调

Javascript 将函数参数传递给淡出回调,javascript,jquery,Javascript,Jquery,此函数最多可接受三个参数。我希望能够将这些参数传递给回调函数,以便能够检查if语句中的参数 我使用控制台日志检查了回调中是否存在任何参数,但没有 function foobar(x, y, z) { $("div").fadeOut(300, function() { if(arguments.length == 1) { //nothing } else if(arguments.length == 2) {

此函数最多可接受三个参数。我希望能够将这些参数传递给回调函数,以便能够检查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);
        }
    });
}

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);
        }
    });
}

你想用x,y和z来表示if和else,我理解对了吗?你不应该只是检查x=零,y=无效的