there are functional array methods, which you could as well have done with loops
The real laugh being that as 'native methods' on both arrays and objects they are SLOWER than "for" loops in every engine except quantum. I discovered this whilst implementing polyfills for some of the new ECMAScript stuff that my polyfills when tested in 'modern' browsers were running faster than the native code!
But then I'm one of those 'clowns' who goes through collections like this:
var allAnchors = document.getElementsByTagName('a');
for (var i = 0, anchor; anchor = allAnchors[i]; i++) {
Because it is 10% faster in blink than a normal for loop based on length once you figure in actually working on each index's result. Remember in a collection all the indexes are loose true, with only an invalid index returning loose false. Beats this bizzaroland "convert it to an array to then Array.foreach" trash I've seen some people using of late.
You know though, I don't think I've EVER had a situation where I actually 'needed' to use Function.bind(). Well, that's not true, callbacks on event handlers would be nice, BUT IT DOESN'T WORK ON THOSE! Apart from that I just don't think in those terms when writing JS in the first place.
though that I still have clients who want support for versions of IE prior to 9 means I can't even use Function.prototype.bind() without a polyfill... Easier to just not think in those terms at that point just using apply or call!