JavaScript:将逗号分隔的参数字符串发送到javascript函数

时间:2011-11-18 09:19:42

标签: javascript

我在javascript中有一个函数

function add(v1,v2){

var add=v1+v2;

}

现在我调用此函数如下 -

write.out(var param="1,2";);

write.out(window[add](param););

使用上述电话,它无效。它的作用是提供完整的字符串" 1,2"作为函数的第一个参数(v1)的值。

如果我按以下方式调用函数,它的工作原理 -

write.out(var param1="1";);

write.out(var param2="2";);

write.out(window[add](param1,param2););

我想使用第一种方式实现它,我可以将参数作为逗号分隔的参数字符串发送。

有人可以帮我解决这个问题吗?

感谢!!!

1 个答案:

答案 0 :(得分:8)

您可以使用ECMA脚本.apply(),它会调用一个函数并接受一组参数。

window['add'].apply(null, param.split(','));

这样,我们执行add函数,将其上下文设置为null(如果需要,您也可以更改它)并传入两个参数。由于我们需要Array,因此我们会先在字符串上调用split()

基本上,上面的行与

相同
add(1,2);

由于您在全局上下文(window)中拥有该函数,我们甚至不需要明确地编写它。

add.apply(null, param.split(','));

会没事的。