在 jQuery 中使用单个变量添加函数参数

Adding function parameters using a single variable in jQuery

本文关键字:变量 添加 函数 参数 单个 jQuery      更新时间:2023-09-26

我在想是否可以将变量传递给要在单击按钮时执行的函数,并且该函数由变量给出。

此外,函数的参数可能不止一个,所以我用 , 分隔它们。

那么有没有办法让我使用任何 jQuery 插件或函数将参数放入函数中。请帮帮我,因为我很困惑!这是我当前的jQuery代码:

function Func (a,b){
 alert(a+' | '+b);   
}
var Parameters = 'cool,123';
var Function = Func;
$('button').click(Function);

问题演示

提前致谢

您可以使用function.apply() .将参数列表作为数组传递,如果您愿意,甚至可以设置范围:

function myFunc(a,b){
    alert(a+", "+b);
}
var args = ["one", "two"];
var func = myFunc;
$('button').click(function(){
    func.apply(this, args);
});

这就是你所追求的吗?

function Func (a,b){
 alert(a+' | '+b);   
}
var Parameters = 'cool,123';
$('button').click(function() {
    Func.apply(this, Parameters.split(","));
});

演示:http://jsfiddle.net/6nJx7/14/

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/function/apply

您可以将参数作为数组传递..

 function Func (a){
     alert(a[0]+' | '+a[1]);   
    }
    var Parameters = new Array(0,1);
    var Function = Func;
    $('button').click(Function(Parameters));

这是另一种方法,我自己更喜欢这个,因为它有点自我记录。 选项列表中的每个"参数"都有一个名称。

这是 JavaScript 库中用于模块选项的常见设计模式。

function Func (c){
 alert(c.a+' | '+c.b);   
}
var Parameters = { a : "cool", b: 123 };
var Function = Func;
$('button').click(Parameters );