Части от Подчертан са вдъхновени от или заимствани от Oliver Steele е Функционално, Prototype.js и Джон Resig на Micro-темплейт.
Добавя Функционално подкрепа програмиране, но без да се разширява всеки от вградения в JavaScript обекти.
Подчертан осигурява 60-те функции, които подкрепят както обичайните заподозрени: функционални картата, изберете, се позове и се стори; както и по-специализирани помощници: свързващата функция, JavaScript темплейт, дълбоко изпитване на половете, и така нататък. Той делегира вградени функции, ако присъства, така модерни браузъри ще използват родния приложения на forEach, карта, намали, филтър, всеки, някои и indexOf.
Пристанища на Underscore.js са на разположение за:
<Силен> PHP
Питон
Perl
Какво ново в тази версия:
- Добавя метод _.create, като отслабнах версия на Object.create.
- заобикаля IOS грешка, която може да е неправилно причини isArrayLike да бъде JIT-ЕД. Също така фиксира бъг при преминаване 0 до isArrayLike.
Какво ново във версия 1.8.2:
- Поправя / променя някои стари-Internet Explorer-а свързани ръб случай поведение.
Какво ново във версия 1.7.0:
- За да има съгласуваност и скорост различни браузъри, Подчертан предприятието игнорира нативни методи решетка за forEach, карта, намали, reduceRight, филтър, всеки, някои, indexOf и lastIndexOf. & Quot; Sparse & quot; масиви са официално мъртъв в Подчертан.
- Добавена _.iteratee да персонализирате итератори, използвани от функции за събиране. Много подчертават методи ще вземат аргумент низ за по-лесно заявки _.property стил, обект за филтриране _.where стил, или функция като обичай обаждане.
- Добавено _.before като аналог на _.after.
- Добавена _.negate да обърнете истинната стойност на преминал-в предикат.
- Добавена _.noop като удобен функция празен контейнер.
- _. IsEmpty сега работи с аргументи обекти.
- _. Сега е предпазва от nullish обекти.
- Override базовите методи, като всеки, а някои и те ще бъдат използвани за вътрешни цели от други функции, подчертават също.
- функциите на бягството справят backticks (`), за да се справят с IE ≤ 8 бъг.
- За да има съгласуваност, _.union и _.difference сега работи само с масиви и не variadic аргументи.
- _. Memoize излага кеша на memoized ценности като собственост върху върнатата функция.
- _. Мотика iteratee и контекстни аргументи приема за по-напреднали обаждане.
- подчертават шаблони вече не приемат първоначален предмет на данните. _.template винаги се връща функция сега.
Какво ново във версия 1.5.0:
- A картата източник вече е предоставена за по-лесно отстраняване на грешки на на minified производство изграждане на ниска черта.
- Функцията просрочията сега само надделява недефинирани стойности, не нулеви такива.
- Премахнато способността да се обадя _.bindAll без аргументи наименование на метода. Това е доста много винаги по-мъдро да бял списък на имената на методите, които искате да се обвърже.
- Премахнато способността да се обадя _.after с брой на извикване на нула. Минималният брой на повиквания е (естествено) стана 1.
Какво ново във версия 1.4.4:
- Добавено _.findWhere, за намиране на първия елемент в списък, който съвпада с определен набор от ключове и стойности.
- Добавена _.partial, за частично прилагане на функция, без да променя своето динамично позоваване на настоящия.
- Опростена свързват чрез премахване на някои случаи крайни, включващи конструктор функции. Накратко:. Не _.bind вашите конструктори
- Лека оптимизация да се позове.
- Fix бъг в minified версия дължи на minifier неправилно оптимизиране-далеч isFunction.
Какво ново във версия 1.4.3:
- Добавена подразбиране _.identity итератор а да countBy и groupBy.
- Функцията Uniq вече могат да вземат масив, итератор, контекст, тъй като списъкът с аргументите.
- Времената функционират вече връща на картирани масив от резултати итератор.
- Опростена и фиксирани бъгове в дросела.
Какво ново във версия 1.4.2:
- За обратна съвместимост, се завръща в предварително 1.4. 0 поведение при преминаване нищожна да итерация функции. Сега те стават не-OPS отново.
Какво ново във версия 1.4.0:
- Добавена е функция на двойки, за превръщането на JavaScript обект на в [ключ, стойност] двойки ..., както и функция обект, за превръщане на масив от [ключ, стойност] двойки в обект.
- Добавена е функция countBy, за отчитане на броя на обектите в списъка, които съответстват на определени критерии.
- Добавена на инвертна функция, за извършване на една проста инверсия на ключове и стойности в даден обект.
- Добавена където функция, за лесни случаи на филтриране списък за обекти с конкретни стойности.
- Добавена функция за пропуснат, за филтриране на обект за премахване на някои клавиши.
- Добавена случайна функция, за да се върнете на случайни числа в определен диапазон.
- _. Debounce'd функции сега се върнем на последната си актуализирана цена, точно като _.throttle'd функции направя.
- Функцията SortBy сега ръководи стабилна сортиране алгоритъм.
- Добавена е опция опция fromIndex да indexOf и lastIndexOf.
- & quot; Sparse & quot; масиви вече не се поддържат в подчертават итерация функции. Използвайте за вместо (или още по-добре, обект).
- минималната и максималната функции могат сега да бъдат призовани много големи масиви.
- интерполация в шаблони сега представлява нищожна и неопределено като празен низ.
Какво ново във версия 1.3.2:
- Добавена функция за избор, който ви позволява да филтрирате обект буквално с бял списък на разрешените наименования собственост.
- Добавена функция за резултат, за удобство при работа с APIs, които позволяват или функции или сурови свойства.
- Добавена функция isFinite, защото понякога, знаейки, че стойността е число, просто не е достатъчно.
- Функцията SortBy сега може да се предава името на низ на един имот да се използва като реда на сортиране на всеки обект.
- Фиксирани Uniq да работят с оскъдни масиви.
- Функцията за разлика сега изпълнява плитка изравнявам вместо дълбоко един, когато се изчислява масив разлики.
- Функцията debounce сега отнема незабавно параметър, който ще доведе до обратно повикване, за да стрелят по вместо водителството на задния ръб .
Какво ново във версия 1.3.1:
- Добавена функция за _.has, като по-безопасна начин да се използва hasOwnProperty.
- Добавена _.collect като псевдоним на _.map. Smalltalkers, радвайте се.
- Възвръщане стар промяна, така че _.extend правилно ще копира върху клавишите с недефинирани стойности отново.
- Bugfix да спре бягството наклонени черти в рамките интерполации в _.template.
Какво ново във версия 1.3.0:.
- Премахнато AMD (RequireJS) подкрепа от Подчертан
Какво ново във версия 1.2.4:
- Мога (и вероятно трябва) напиши _.chain (списък) вместо _ (списък) .chain (.)
- Fix за избягали герои в подчертават шаблони, както и за подкрепа на персонализации на _.templateSettings че само определят един или два от изискваните regexes.
- Fix за подаване на масив като първи аргумент на функция на _.wrap'd.
- Подобрена съвместимост с ClojureScript, която добавя функция за повикване, за да String.prototype.
Какво ново във версия 1.2.3:
- Dynamic обхват вече е запазена за компилиран _.template функции, така че можете да използвате стойността на това, ако ви харесва.
- Sparse подкрепа масив от _.indexOf, _.lastIndexOf.
- И двете _.reduce и _.reduceRight вече може да бъде приет изрично неопределена стойност.
Какво ново във версия 1.2.2:
- Продължава ощипвам _.isEqual семантика. Сега JS примитиви се считат за еквивалентни на техните увити версии, както и масиви се сравняват с техните числови свойства, само.
- _. Избягат вече не се опитва да бъде умен, за да не двойно бягство вече избягали HTML образувания. Сега тя просто бяга независимо.
- В _.template, сега можете да оставите запетая от оценявани твърдения, ако желаете: & # x3c;%})% & # x3e; .
- _ след (обаждане, 0), сега ще се задейства веднага обратно повикване, като & quot;., След като & quot; лесен за използване с асинхронни APIs.
Какво ново във версия 1.2.1:
- Няколко важни корекции на грешки за _.isEqual, които Сега трябва да направим по-добре на мутирали Масивите, а на не-Array обекти с имоти дължина.
- вече могат _.groupBy (списък, "имущество") като пряк път за групиране на стойности от конкретна обща собственост.
- _. Throttle'd функции сега стрелят веднага след извикване и са ограниченото от скоростта след това.
- Повечето от _.is [Type] проверява вече не ducktype.
- Функцията _.bind сега също работи на конструкторите, а-ла ES5 ... но човек никога не би искал да използва _.bind на функция конструктор.
- _. Клонинг вече не увива видове не-обект в Objects.
- _. Откриете и _.filter сега са предпочитаните имена за _.detect и _.select.
Какво ново във версия 1.2.0:
- Функцията _.isEqual вече поддържа истинска дълбока половете сравнения, с проверки за циклични структури, благодарение на комплект Cambridge.
- подчертават шаблони вече поддържат HTML бягство интерполации, използвайки & # x3c;% - ...% & # x3e; синтаксис.
- Ryan Тени допринесли _.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, когато преминава нищожна като на стойност не. _.wrap вече правилно фиксира това за увит функция. _.indexOf сега отнема незадължителен флаг за намиране на индекса на вмъкване в масив, която гарантирано ще вече да са сортирани.
- Избягване на използването на .callee, за да се позволи _.isArray да работи правилно при стриктно режим ES5 му.
Какво ново във версия 1.1.3:
- В CommonJS, Подчертан сега може да се наложи само с :
- Var _ = изискват (& quot; подчертая & quot;). Добавен _.throttle и _.debounce функции.
- Премахнато _.breakLoop, в полза на ECMA5 стил ООН разпадането състояние всяко изпълнение - това премахва пробвам / улов, а вие сега ще имате по-добри стека следи за изключения, които са хвърлени в рамките долна черта итератор. Подобрена семейството isType от функции за по-добра оперативна съвместимост с Internet Explorer приемните обекти. _.template вече правилно избяга обратно наклонени черти в шаблони. Подобрена _.reduce съвместимост с ECMA5 версия: ако не премине първоначална стойност, се използва първият елемент в колекцията. _.each вече не се връща итерирания колекцията, за по-добра съгласуваност с forEach ECMA5 му.
Какво ново във версия 1.0.4:
- _ memoize функция, която може да се използва, за да. ускори скъпи повторни изчисления чрез кеширане на резултатите.
Какво ново във версия 1.0.2:.
- Фиксирани _.isArguments за Opera
Коментари не е намерена