[英]Call a javascript function with arguments as an array
我正在尝试从字符串中执行一个函数以及一个应该被视为多个参数的数组。
例:
var app = {
bar : function(val1, val2, val4){
console.log(val1+val2+val3);
}
};
fn_name = "bar";
fn_args = ['one', 'two', 'three'];
app[fn_name](fn_args);
这段代码的问题是fn_args
作为单个参数传递而不是作为单独的参数传播,是否有解决方法? 我仍然想动态传递fn_name
和fn_args
。
使用apply
方法:
app[fn_name].apply(app, fn_args);
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply
使用function.apply()
。
app[fn_name].apply(app, fn_args);
第一个参数是函数内部的上下文( this
),第二个是应该作为参数传递的数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.