Частини підкреслення натхненні або запозичені з Олівера Стіла функціональної, Prototype.js і Джона Резіг Мікро-темплатного.
Функціональна підтримка програмування додав, але без розширення будь-який з вбудованих 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, підкреслення тепер можуть знадобитися тільки з
- _ = VAR вимагає (і 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
Коментар не знайдено