Части подчеркивания вдохновлены или заимствованы из Оливера Стила функциональной, Prototype.js и Джона Resig Микро-шаблонов.
Функциональная поддержка программирования добавил, но без расширения любой из встроенных JavaScript объектов.
Подчеркивание предоставляет 60-нечетные функции, поддерживающие оба обычные функциональные подозреваемых: карта, выберите, вызовите & mdash; а также более специализированных помощников: функция связывания, JavaScript шаблонов, глубокой тестирования равенства, и так далее. Это делегаты встроенных функций, если они присутствуют, так современные браузеры будут использовать родной реализаций FOREACH, карта, уменьшить, фильтр, каждый, некоторые и IndexOf.
Порты Underscore.js доступны для:
PHP
Питон
Perl
Что нового В этом выпуске:
- Добавляет метод _.create, как похудела версия Object.create.
- Работы вокруг ошибки IOS, которые могут привести к неправильной isArrayLike быть JIT-е изд. Также исправлена ошибка, при переходе от 0 до isArrayLike.
Что нового в версии 1.8.2:
- исправлений / изменений некоторые старые-интернет-проводник и поведение, связанное крайний случай.
Что нового в версии 1.7.0:
- Для согласованности и скорости через браузеры, теперь игнорирует подчеркивания нативные методы массива для FOREACH, карты, уменьшить, reduceRight, фильтра, каждый, какой-то, IndexOf и LastIndexOf. & Quot; Редкие и Quot; массивы официально мертвым в подчеркивания.
- Добавлена _.iteratee настроить итераторы используемые функции сбора. Многие методы подчеркивания будет строковый аргумент для более легких поисков _.property стиле, объект для фильтрации _.where стиле, или функцию в качестве пользовательского обратного вызова.
- Добавлена _.before в качестве аналога _.after.
- Добавлена _.negate, чтобы инвертировать значение истинности прошел в предикат.
- Добавлена _.noop как удобный пустой функции заполнителя.
- _. IsEmpty теперь работает с аргументами объектов.
- _. Теперь охраняет против nullish объектов.
- Переопределить базовые методы, такие как друг, а некоторые, и они будут использоваться внутри другими функциями подчеркивания тоже.
- Функции побег обрабатывать обратные кавычки (`), чтобы справиться с IE 8 ≤ ошибка.
- Для последовательности, _.union и _.difference в настоящее время работают только с массивами, а не переменным числом аргументов.
- _. memoize выставляет тайник memoized ценностей как собственности на возвращаемом функцией.
- _. выбор принимает iteratee и контекстные аргументы для более продвинутой обратного вызова.
- Шаблоны подчеркивания больше не принимают первоначальный объект данных. _.template всегда возвращает функцию в настоящее время.
Что нового в версии 1.5.0:
- Источник карту теперь поставляется для облегчения отладки уменьшенная производство сборки подчеркивания.
- Функция по умолчанию теперь только отменяет неопределенные значения, а не пустые них.
- Убрана возможность вызова _.bindAll без аргументов имя метода. Это почти всегда разумнее белом списке имена методов, которые вы хотели бы связать.
- Убрана возможность вызова _.after с вызова подсчета нулю. Минимальное количество звонков (естественно) в настоящее время 1.
Что нового в версии 1.4.4:
- Добавлена _.findWhere, для нахождения первого элемента в списке, который соответствует определенный набор ключей и значений.
- Добавлена _.partial, для частично применения функции без изменения его динамическую ссылку на это.
- Упрощенная привязку путем удаления некоторых крайние случаи, связанные с функциями конструктора. Короче говоря:. Не _.bind ваши конструкторы
- Несовершеннолетний оптимизация вызвать.
- Исправлена ошибка в версии уменьшенная в связи с Minifier неправильно оптимизации вдали isFunction.
Что нового в версии 1.4.3:
- Добавлена умолчанию _.identity итератор countBy и группеПо.
- Теперь функция Uniq может занять массив, итератор, контекст как в списке аргументов.
- Время действовать теперь возвращает переведённый массив результатов итераторов.
- Упрощенная и исправлены ошибки в дроссельной заслонке.
Что нового в версии 1.4.2:
- Для обратной совместимости, вернулся в предварительно 1.4. 0 поведение при прохождении нулевой итерации в функции. Теперь они не станут нет-OPS снова.
Что нового в версии 1.4.0:
- Добавлена функция пары, для превращения объекта JavaScript в [ключ, значение] пар ..., а также целевой функции, для преобразования массива [ключ, значение] пар в объект.
- Добавлена функция countBy, для подсчета количества объектов в списке, которые соответствуют определенным критериям.
- Добавлена функция инвертирования, для выполнения простой инверсии ключей и значений в объекте.
- Добавлена функция где, для простоты случаев фильтрации списка объектов с определенными значениями.
- Добавлена функция опустить, для фильтрации объекта, чтобы удалить определенные клавиши.
- Добавлена случайная функция, чтобы вернуться случайное число в заданном диапазоне.
- _. debounce'd функции теперь возвращают их последнего обновления значение, как _.throttle'd функции делают.
- Функция SortBy теперь работает устойчивый алгоритм сортировки.
- Добавлена опция опция fromIndex к IndexOf и LastIndexOf.
- & Quot; Редкие и Quot; не массивы не поддерживаются в итерации функций подчеркивания. Используйте для вместо (или, еще лучше, объект).
- Функции мин и макс теперь можно назвать на очень больших массивах.
- Интерполяция в шаблонах в настоящее время представляет нуль и определено как пустая строка.
Что нового в версии 1.3.2:
- Добавлена функция трансфер, который позволяет фильтровать литерал объекта с белый список разрешенных имен свойств.
- Добавлена функция результата, для удобства при работе с API, которые позволяют либо функции или сырые свойства.
- Добавлена функция isFinite, потому что иногда, зная, что значение является числом только не достаточно.
- Функция SortBy теперь могут быть также передается имя строковое свойство для использования в качестве порядка сортировки по каждому объекту.
- Исправлены Uniq для работы с редкими массивами.
- Разница функция в настоящее время выполняет мелкий сгладить вместо глубокого один при вычислении разницы массива.
- Функция устранения дребезга в настоящее время занимает непосредственное параметр, который вызовет обратный вызов стрелять в ведущий вместо задней кромки.
Что нового в версии 1.3.1:
- Добавлена функция _.has, как безопаснее способ использования hasOwnProperty.
- Добавлена _.collect в качестве псевдонима для _.map. Smalltalkers, радоваться.
- Восстановлено старый изменения, так что _.extend правильно скопировать ключи с неопределенными значениями снова.
- Исправление остановить побега косую черту в течение интерполяции в _.template.
Что нового в версии 1.3.0:.
- Удалено драмов (RequireJS) поддержка подчеркивания
Что нового в версии 1.2.4:
- может (и, вероятно, должны) написать _.chain (список), а _ (список) .chain ().
- Исправлена сбежавших символов в шаблонах подчеркивают, а также для поддержки настройки на _.templateSettings, что только определить один или два необходимых регулярных выражений.
- Исправлена передача массива в качестве первого аргумента функции _.wrap'd в.
- Улучшена совместимость с ClojureScript, который добавляет функцию вызова на String.prototype.
Что нового в версии 1.2.3:
- Динамический сфера теперь сохраняется для составленном _.template Функции, так что вы можете использовать значение этого, если вам нравится.
- Редкие поддержка массив _.indexOf, _.lastIndexOf.
- И _.reduce и _.reduceRight теперь можно сдать явно неопределенное значение.
Что нового в версии 1.2.2:
- Продолжение настроек для семантики _.isEqual. Теперь JS примитивы считаются эквивалентными их обернутые версии, и массивы сравнению с их числовых свойств только.
- _. не избежать уже не пытается быть умным о не дважды побега уже бежали HTML сущности. Теперь он просто убегает независимо.
- В _.template, теперь вы можете оставить запятой из оцениваемых отчетности, если вы хотите: & # x3c;%})% & # x3e; .
- _ после (вызов, 0) теперь сразу вызвать обратный вызов, что делает и Quot;. & Quot после; проще в использовании асинхронных API.
Что нового в версии 1.2.1:
- Несколько важных исправлений для _.isEqual, который Теперь делать лучше на мутировавших массивов, и на не-массив объектов со свойствами длины.
- теперь может _.groupBy (список, "собственность") в качестве ярлыка для группировки значений по конкретной общей собственности.
- _. throttle'd функции в настоящее время огонь сразу же после вызова, и ограничен по скорости после этого.
- Большинство _.is [Тип] не проверяет больше не ducktype.
- Функция _.bind теперь работает на конструкторов, а-ля ES5 ... но вы никогда не хотели бы, чтобы использовать _.bind на функцию конструктора.
- _. не клон больше не оборачивает типы необъектных в объектах.
- _. найти и _.filter сейчас предпочтительные имена для _.detect и _.select.
Что нового в версии 1.2.0:
- Функция _.isEqual теперь поддерживает истинную глубокую равенство сравнения, с чеками для циклических структур, благодаря Киту Кембридж.
- Шаблоны подчеркивания теперь поддерживает HTML побега интерполяции, используя & # x3c;% - ...% & # x3e; Синтаксис.
- Райан Тенни вклад _.shuffle, которая использует модифицированный Fisher-Yates, чтобы дать вам копию перемешиваются массива.
- _. Uniq теперь могут быть переданы дополнительный итератор, чтобы определить, по каким критериям объект должен считать уникальным.
- _. длиться в настоящее время занимает дополнительный аргумент, который будет возвращать последние N элементов списка.
- Новый _.initial функция была добавлена, как зеркало _.rest, который возвращает все первоначальные значения списка (за исключением последнего N).
Что нового в версии 1.1.7:
- Добавлена _.groupBy, который агрегирует в коллекцию группы, как предметов.
- Добавлена _.union и _.difference, в дополнение к (переименован) _.intersection.
- Различные улучшения для поддержки разреженных массивов. _.toArray теперь возвращает клона, если непосредственно передается массив. _.functions теперь возвращает имена функций, которые присутствуют в цепочке прототипов.
Что нового в версии 1.1.6:
- Добавлена _.after, который будет возвращать функцию что работает только после первого называется определенное количество раз. Теперь _.invoke может получить ссылку прямую функцию. _.every теперь требует функцию итератора, который будет передан, которая зеркал ECMA5 API. _.extend нет больше копий ключей, когда значение не является неопределенным. _.bind Теперь ошибки при попытке связать неопределенное значение.
Что нового в версии 1.1.4:
- Улучшена соблюдение методов массива ES5, когда прохождение NULL, как ценность. _.wrap теперь корректно устанавливает это для завернутые функции. _.indexOf теперь занимает дополнительный флаг для нахождения индекса вставки в массив, который гарантированно быть уже отсортирован.
- Отказ от использования .callee, чтобы позволить _.isArray чтобы работать должным образом в строгом режиме ES5 в.
Что нового в версии 1.1.3:
- В CommonJS, подчеркивания теперь могут потребоваться только с
- Вар _ = (требуется & Quot; подчеркивают & Quot;). Добавлено _.throttle и _.debounce функции.
- Удалено _.breakLoop, в пользу ECMA5 стиле ООН-брейк-состоянии каждой реализации - это снимает Try / Catch, и теперь вы будете иметь лучшие трассировки стека для исключений, которые выбрасываются внутри итератора подчеркивания. Улучшена семью isType функций для улучшения совместимости с принимающими объектов Internet Explorer. _.template теперь корректно избегает обратную косую черту в шаблонах. Улучшенная совместимость с _.reduce ECMA5 версии: если вы не пройти начальное значение, первый элемент в коллекции используется. не _.each больше не возвращает итерационный коллекцию, для улучшения консистенции с FOREACH ECMA5 в.
Что нового в версии 1.0.4:
- функция _ memoize, которые могут быть использованы для. ускорить дорогие повторных вычислений за счет кэширования результатов.
Что нового в версии 1.0.2:.
- Исправлены _.isArguments для Opera
Комментарии не найдены