I’m calling two functions to which I pass the identical arguments.
JavaScript
x
6
1
foo1('p1','p2','p3','p4','p5');
2
3
//...
4
5
foo2('p1','p2','p3','p4','p5');
6
Can I do something like the following, to declare the arguments once and then pass it to both functions?
JavaScript
1
5
1
var params = 'p1','p2','p3','p4','p5'; // what's the syntax here?
2
3
foo1(params);
4
foo2(params);
5
Advertisement
Answer
Yes, you can: Put them in an array and use ...
(in modern environments) or apply
(in older environments):
In modern environments:
JavaScript
1
8
1
const params = ['p1','p2','p3','p4','p5'];
2
// −−−−−−−−−−−−^−−−−−−−−−−−−−−−−−−−−−−−−^
3
4
foo1(params);
5
// −−^^^
6
foo2(params);
7
// −−^^^
8
In older environments:
JavaScript
1
8
1
var params = ['p1','p2','p3','p4','p5'];
2
// −−−−−−−−−−^−−−−−−−−−−−−−−−−−−−−−−−−^
3
4
foo1.apply(null, params);
5
// −^^^^^^^^^^^^
6
foo2.apply(null, params);
7
// −^^^^^^^^^^^^
8