[英]Function in a variable, passing a parameter
我似乎无法重回正轨。 我只是将一个函数放在变量中,并想在以后调用它,并为其提供一个参数:
var logic = function(itemId) {
console.log(itemId);
};
jQuery("#flipright").click(function() { logic.apply(1); } );
这将打印“未定义”。
我想念什么?
只需调用logic(1)
。
如果要传递上下文,可以使用call
或apply
:
logic.apply(context, [1]);
// or
logic.call(context, 1);
如果要将上下文传递给另一个函数,则应使用apply
或call
-这意味着被调用函数中的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.