JavaScript:向JavaScript函数发送以逗号分隔的参数字符串

JavaScript: Sending comma separated string of parameters to a javascript function

本文关键字:JavaScript 分隔 字符串 参数 函数      更新时间:2023-09-26

我在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););

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

谁能告诉我怎么做这件事?

谢谢! !

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

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

这样,我们执行add函数,将其上下文设置为null(如果需要,您也可以更改它)并传递两个参数。因为我们需要一个Array,所以我们在前面的字符串上调用split()

基本上,上面这行和

是一样的
add(1,2);

因为你在全局上下文中有这个函数(window),我们甚至不需要显式地写它。

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