I want to evaluate callback function before accepting it. This means I need to know at least the count of accepted argumens - if count doesn't match, I'll leave warning in console.
But I can't find out, whether a javascript function object has a property that would help me get that information.
So can this be achieved without parsing function as string (not worth it)?
count() The console. count() method logs the number of times that this particular call to count() has been called.
The arguments. length property contains the number of arguments passed to the function.
JavaScript functions do not perform type checking on the passed arguments. JavaScript functions do not check the number of arguments received.
You can refer to a function's arguments inside that function by using its arguments object. It has entries for each argument the function was called with, with the first entry's index at 0 . You can use arguments.length to count how many arguments the function was called with.
A function has a length
property which tells you how many named arguments it accepts. Note however, a function can use the arguments
variable to access variables, even if it doesn't name them; length
doesn't cater for this (nor is there an alternative which does).
function foo(a, b) {
for (var i=0;i<arguments.length;i++) {
console.log(arguments[i]);
}
}
console.log(foo.length); // reports 2, even though `foo` can access all your arguments!
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