Underscore.js имеет два способа вызова функций, которые я буду называть объектным стилем и функциональным стилем. Стиль объекта выглядит следующим образом:
_(myObject).each(function (val, key) {
console.log(key, val);
});
Стиль функции, с другой стороны, выглядит следующим образом:
_.each(myObject, function (val, key) {
console.log(key, val);
});
Я с радостью использовал вызовы объектного стиля в моем коде, но в какой-то момент, однако, объектный стиль вызова исчез из документации underscore.js (хотя вызовы объектного стиля по-прежнему работают отлично). Я также видел намеки вокруг (как в документации к backbone.js), что стиль функции «лучше» или «предпочтительнее».
Итак, является ли функциональный стиль вызова предпочтительным методом? И если да, то может ли кто-нибудь объяснить причины этого?
Обновление: @ggozad частично ответил на мой вопрос. Но, похоже, мое понимание того, как работает underscore.js, сформировалось еще в версии 0.4.2. Читая историю изменений для underscore.js, вы можете увидеть эту запись для версии 1.2.4:
Теперь вы можете (и, вероятно, должны) написать _.chain(list)
вместо _(list).chain()
.
Я хотел бы знать, почему вы должны написать _.chain(list)
вместо _(list).chain()
.