函数在变量中传递参数

时间:2012-03-29 08:10:32

标签: javascript function variables parameter-passing

我似乎无法回到正轨。我只是将一个函数放在一个变量中,并希望稍后调用它,为它提供一个参数:

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

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

这打印“未完成”。

我错过了什么?

2 个答案:

答案 0 :(得分: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);
});

答案 1 :(得分:1)

成功:

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

参考applyhttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply