简化了传递两个两个不同函数的相同参数

时间:2020-08-12 11:32:05

标签: javascript

我正在调用两个传递相同参数的函数。

foo1('p1','p2','p3','p4','p5');

//...

foo2('p1','p2','p3','p4','p5');

我可以执行以下操作,一次声明参数,然后将其传递给两个函数吗?

var params = 'p1','p2','p3','p4','p5'; // what's the syntax here?

foo1(params);
foo2(params);

1 个答案:

答案 0 :(得分:2)

是的,您可以:将它们放入数组并使用...(在现代环境中)或apply(在较旧的环境中):

在现代环境中:

const params = ['p1','p2','p3','p4','p5'];
// −−−−−−−−−−−−^−−−−−−−−−−−−−−−−−−−−−−−−^

foo1(...params);
// −−^^^
foo2(...params);
// −−^^^

在较旧的环境中:

var params = ['p1','p2','p3','p4','p5'];
// −−−−−−−−−−^−−−−−−−−−−−−−−−−−−−−−−−−^

foo1.apply(null, params);
// −^^^^^^^^^^^^
foo2.apply(null, params);
// −^^^^^^^^^^^^