2012-03-29 132 views
0

我似乎無法回到正軌。我只是把一個函數的變量,並且希望以後調用它,爲它提供一個參數:函數在一個變量中,傳遞一個參數

var logic = function(itemId) {    
    console.log(itemId); 
}; 

jQuery("#flipright").click(function() { logic.apply(1); }); 

這版畫「undefinded」。

我錯過了什麼?

回答

4

直接讓logic(1)
如果你想傳遞一個背景下,你可以使用callapply

logic.apply(context, [1]); 
// or 
logic.call(context, 1); 

您應該使用applycall如果你想傳遞一個上下文到另一個功能 - 這意味着this關鍵字調用的函數將參考您傳遞給它的任何環境。
這裏是一個場景:

var logic = function(itemId) {    
    console.log(this,itemId); 
}; 

jQuery("#flipright").click(function() { 
    // output to console the current jquery object and "1" 
    logic.call(this,1); 
}); 
+0

啊,對:-)謝謝! – Jem 2012-03-29 08:14:54

相關問題