How do you pass all the parameters of one function into another
function a(){
arguments.length;// this is 1
// how do I pass any parameter function a receives into another function
b(what to put here?); // say pass all parameters function a receives to function b
}
a('asdf'); // this is okay
So if function a receives X number of parameters, each parameter is then passed into function b in the same order. So if a("1", "2"); , b("1", "2");, if a("1", 2, [3]); , b("1", 2, [3]);.
Use Function.prototype.apply(thisArg[, argsArray]), like so:
b.apply(this, arguments);
Now, arguments is an array-like object that has some other properties (like callee) apart from its n-index properties. So, you probably ought to use Array.prototype.slice() to turn the object into a simple array of arguments (though either will work in modern environments).
b.apply(this, Array.prototype.slice.call(arguments));
See also: Function.prototype.call()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With