繁体   English   中英

变量中的函数,传递参数

[英]Function in a variable, passing a parameter

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

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

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

这将打印“未定义”。

我想念什么?

只需调用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);
});

做了:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM