2012-03-29 97 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

相关问题