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

标签 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););

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

谁能帮我解决这个问题...

谢谢!!!

最佳答案

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

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

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

所以基本上,上面的行是一样的

add(1,2);

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

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

会没事的。

关于JavaScript:将逗号分隔的参数字符串发送到 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8180168/

相关文章:

javascript - 访问 JSON 字符串值

css 的 Javascript href 属性未更新

javascript - 如何使用 jquery 水平对齐更多跨度

javascript - R Shiny - extendShinyjs 错误解析提供的 JavaScript 代码

javascript - 在 AngularJS 中使用 Promise

javascript - Frame Busting 克星并不完全适用于 IE

javascript - Mozilla Firefox 扩展开发。 577 < 100。这怎么可能?

javascript - 工具提示字符限制 -title 属性

javascript - 我的脚本无法正常工作并且不会引发错误

javascript - 不同条件下的 ng-model