2014-03-07 40 views
0

此函數最多接受三個參數。我希望能夠將這些參數傳遞給回調函數,以便能夠檢查我的if語句中的參數。將功能參數傳遞給fadeOut回調

我用控制檯日誌檢查是否有任何參數存在於回調中,並且沒有任何參數。

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

我是否理解您希望將x,y和z用於if和else?如果x!= null,y!= null ...不足以檢查嗎? – ius

回答

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