It's a good question, and a pretty fair one for a Javascript developer to know, given the role that closures play in the language.
That said, I'm not thinking of a 3rd solution. Closures(best?), a global(worse), what else?
Edit: As Daiz points out, the bind I was thinking of doesn't even have to even be to a global. But we still have seen only two solutions: variations of binding and closures. What's the third? Inquiring minds want to know!
- bind
- function creator outside of the loop called from within
- create an anon function on each loop iteration that acts like the function creator in #2
The bind is best in terms of memory and simplicity, but will not run on on IE 8 or crappier, so in that case #2 is preferred.
The last one creates anon functions needlessly, but is very compact to write.
That said, I'm not thinking of a 3rd solution. Closures(best?), a global(worse), what else?
Edit: As Daiz points out, the bind I was thinking of doesn't even have to even be to a global. But we still have seen only two solutions: variations of binding and closures. What's the third? Inquiring minds want to know!