我找到了我已经实现的这个主题(请参阅接受的答案):
javascript 等效于 PHP 的 call_user_func()
但是,我遇到了多个参数的问题。我意识到我正在做的是将参数转换为字符串并将其视为 1 个参数,但我不知道如何解决此问题,因为我正在动态创建参数。
意思是,我在我的代码中定义了以下内容:
var a = new Array();
a[0] = new Array();
a[0][0] = 'alert';
a[0][1] = '\'Hello World\'';
a[1] = new Array();
a[1][0] = 'setTimeout';
a[1][1] = 'alert("goodbye world")';
a[1][2] = '20';
后来,我这样称呼他们:
var j = 0;
var len = 0;
var fx = '';
var params = '';
for( i in a ){
params = '';
len = a[i].length;
fx = a[i][0]; // getting the function name
a[i].splice( 0, 1 ); // removing it from array
if( len > 1 ){
params = a[i].join(", "); // trying to turn the parameters into the right format, but this is turning it into strings I think
params = params.replace(/\\'/g,'\''); // bc i was adding slashes with PHP
}
window[fx](params);
}
我不必使用数组来执行此操作。我不了解 JS OOP(还没有尝试过),虽然我对 PHP OOP 很满意,所以我不知道那里是否有办法做到这一点。
任何有关传递多个参数的帮助将不胜感激。
谢谢。