javascript - difference between named and anonymous callback function in JS -
i wrote following practice code compare differences between named , anonymous callback function, named callback function throws errors, wondering why , what's right way of using named callback function. looking
friends = ["john", "mike", "resch", "tony"]; friends.foreach(function(value, index) { console.log('index of ' + index + ', value is: ' + value); }); function iterate(value, index) { console.log('index of ' + index + ', value is: ' + value); } friends.foreach(iterate(value, index));
the last line should be:
friends.foreach(iterate);
this pass function
, iterate
, .foreach()
can call , provide arguments parameters, value
, index
.
by including additional parenthesis after it, iterate
being called , (attempt to) pass foreach()
returned value (undefined
default).
the errors because value
, index
don't exist outside of iterate()
.
for comparison, equivalent of:
friends.foreach(iterate(value, index));
with anonymous function be:
friends.foreach(function(value, index) { console.log('index of ' + index + ', value is: ' + value); }(value, index));
Comments
Post a Comment