javascript - 函数在变量中,传递参数

标签 javascript function variables parameter-passing

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

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);
});

关于javascript - 函数在变量中,传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9921454/

相关文章:

python - 如何查找列表中出现的情况?

java - MATLAB 不能从 Java 读回 double[] 数组吗?

c - C 什么时候决定 char[] 是字符数组还是字符串?

javascript - 无法在js中将数据推送到空数组中

javascript - 如何在javascript中制作包装函数?

bash - Linux shell 脚本: Is it possible to modify the variable sent as parameter to a function?

python - 使用程序中的变量重命名文件 - Python

javascript - 使用 angular.js ui-router 单击链接时出错

javascript - 动态添加的输入框不是动态绑定(bind)的

javascript - 如何使 console.log() 在 Phantomjs 中同步运行?