К примеру строка Array.prototype.rsort = function() { ... } в одном из скриптов нахрен поломает весь скрипт.
При этом эта строка нормальная с точки зрения качества, т.е. в порядке вещей в JS.
А где весьма распространненный вариант "используемый фреймворк добавляет each в прототип array"?
Или кроме попсового jQuery уже фреймворков нет? =)
Ну это четвертый(ФП). Кстати, хочу заметить, пример там не на jQuery($.each), а на Underscore(_.each)
Проблема в этом варианте в том, что нельзя использовать return.
не люблю, когда изменяются прототипы предопределенных объектов, где-нить забудешь об этом - и начинаются приколы..
Ну приколы тут понятно из-за чего: из-за ошибок типа как в третьем варианте.