Części podkreślenia są inspirowane lub pożyczonych od Oliver Steele prototype.js i funkcjonalna, John Resig na Micro-Templating.
Funkcjonalna dodaje wsparcie programowania, ale bez rozszerzenia któregokolwiek z wbudowanym JavaScript obiektów.
Podkreślenia zapewnia 60-nieparzyste funkcje, które obsługują zarówno Podejrzani funkcjonalne: mapy, wybierz, powołać & ndash; jak również bardziej wyspecjalizowanych funkcji pomocników: Wiązanie, szablonów JavaScript, badania głębokiej równości, i tak dalej. To delegatów wbudowanych funkcji, jeśli obecne, tak nowoczesne przeglądarki będą używać rodzimych implementacje forEach, mapa, zmniejszyć, filtr, co niektórzy i indexOf.
Porty Underscore.js dostępne są dla:
PHP
Pyton
Perl
Co nowego w tym wydaniu:
- Dodaje metoda _.create, jak odchudzić wersja Object.create.
- Działa wokół błędu iOS, które mogą nieprawidłowo powodować isArrayLike być JIT-ed. Również naprawia błąd podczas przechodzenia 0 do isArrayLike.
Co nowego w wersji 1.8.2:
- Poprawki / zmiany jakąś starą-Internet-Explorer i Sprawa związana zachowanie krawędzi.
Co jest nowa w wersji 1.7.0:
- Dla spójności i prędkości w różnych przeglądarkach, Podkreślenie teraz ignoruje natywne metody tablicy dla foreach mapie, zmniejszyć, reduceRight, filtr, każdego, niektóre, indexOf i lastIndexOf. & Quot; Rzadki & quot; tablice są oficjalnie martwy w podkreślenia.
- Dodane _.iteratee dostosować iteratorów używanych przez funkcje zbiórki. Wiele metod podkreślenia odbędzie argument ciąg dla łatwiejszego wyszukiwań _.property stylu, obiekt do filtrowania _.where stylu lub funkcję jako niestandardowy zwrotnego.
- Dodane _.before jako odpowiednik _.after.
- Dodane _.negate odwrócić wartość prawdy zdanym w orzecznika.
- Dodane _.noop jako poręczne funkcji pustego zastępczy.
- _. IsEmpty teraz pracuje z argumentów obiektów.
- _., Teraz chroni przed nullish obiektów.
- Zastąp metody bazowych każda, a niektóre, jak i oni będą używane wewnętrznie przez inne funkcje podkreślają też.
- Funkcje escape obsługi odwrócone, pojedyncze apostrofy (`), do czynienia z IE ≤ 8 błędów.
- Dla spójności, _.union i _.difference teraz pracować tylko z tablicami, a nie o zmiennej liczbie argumentów args.
- _. Memoize naraża cache memoized wartości jako własność na funkcję wrócił.
- _. Pick akceptuje iteratee i argumenty kontekstowe dla bardziej zaawansowanych zwrotnego.
- Szablony podkreślenia już akceptować początkową obiektu danych. _.template zawsze zwraca funkcję teraz.
Co nowego w wersji 1.5.0:
- źródło map jest teraz dostarczany dla łatwiejszego debugowania minified build produkcja podkreślenia.
- Funkcja domyślnie teraz tylko nadpisuje te wartości nieokreślone, nie null.
- Usunięto możliwość wywoływania _.bindAll bez argumentów nazwa metody. To prawie zawsze mądrzejszy białej liście nazwy metod, które chcesz powiązać.
- Usunięto możliwość wywoływania _.after z liczbą wywołań od zera. Minimalna liczba połączeń jest (oczywiście) teraz 1.
Co nowego w wersji 1.4.4:
- Dodane _.findWhere, do znalezienia pierwszego elementu na który odpowiada konkretny zestaw kluczy i wartości.
- Dodane _.partial, do częściowego zastosowania funkcji bez zmiany dynamiczne odniesienie do tego.
- Uproszczone powiązanie poprzez usunięcie niektórych przypadkach krawędzi, obejmujących działania konstruktora. W skrócie:. Nie _.bind swoich konstruktorów
- drobne optymalizacji powołać.
- bug Fix w wersji minified powodu minifier niepoprawnie optymalizacji dala isfunction.
Co nowego w wersji 1.4.3:
- Dodano iterator domyślne _.identity do countBy i GroupBy.
- Funkcja uniq mogą teraz tablicę, iterator, kontekst jako listy argumentów.
- Czas działać teraz zwraca odwzorowany tablicę wyników iterator.
- Zmniejsz i stałe błędy w gazie.
Co nowego w wersji 1.4.2:
- Do wstecznej kompatybilności, wrócił do pre-1.4. 0 zachowania podczas przechodzenia null funkcji iteracji. Stają się teraz nic nie rób ponownie.
Co nowego w wersji 1.4.0:
- Dodano funkcję par, do toczenia obiekt JavaScript do [klucz, wartość] par ... oraz funkcji obiektu, do przekształcania tablicę [klucz, wartość] par do obiektu.
- Dodano funkcję countBy, do zliczania liczby obiektów w liście pasujących pewne kryteria.
- Dodano funkcję odwracania, do wykonywania prostych odwrócenie kluczy i wartości w obiekcie.
- Dodano gdzie funkcji, łatwych przypadkach filtrowania listy obiektów o szczególnych wartościach.
- Dodano funkcję omijania, filtrowania obiektu do usunięcia niektórych klawiszy.
- Dodano losowo funkcję powrotu liczb losowych w danym zakresie.
- _. Debounce'd funkcje zwracają teraz ich ostatniej aktualizacji wartości, podobnie jak _.throttle'd funkcje zrobić.
- Funkcja SortBy prowadzi obecnie stabilne algorytm sortowania.
- Dodano opcjonalną możliwość fromIndex indexOf i lastIndexOf do.
- & quot; Rzadki & quot; tablice nie są już obsługiwane w podkreślenia funkcji iteracji. Zamiast używać do (albo jeszcze lepiej, obiekt).
- MIN i MAX funkcje mogą być teraz wezwał bardzo dużych tablic.
- Interpolacja w szablonach stanowi obecnie wartości null i undefined jako pusty ciąg znaków.
Co nowego w wersji 1.3.2:
- Dodano funkcję odbioru, który pozwala na filtrowanie Obiekt dosłowne z białej listy dozwolonych nazw właściwości.
- Dodano funkcję wynik, dla wygody przy pracy z API, które umożliwiają zarówno funkcji lub właściwości surowców.
- Dodano funkcję isFinite, bo czasami wiedząc, że wartość jest liczbą prostu nie jest dość mało.
- Funkcja SortBy może być teraz przekazany ciąg znaków nazwy do korzystania z nieruchomości w porządku sortowania na każdym obiekcie.
- Poprawiono uniq do pracy z nielicznych tablic.
- Funkcja Różnica teraz wykonuje płytkie spłaszczyć zamiast głębokiej jednej tablicy przy obliczaniu różnic.
- Funkcja nieczułości ma teraz bezpośredni parametr, co spowoduje wywołanie zwrotne strzelania wiodących zamiast krawędzi spływu.
Co nowego w wersji 1.3.1:
- Dodano funkcję _.has, jako bezpieczniejsze sposób na wykorzystanie hasOwnProperty.
- Dodane _.collect jako alias dla _.map. Smalltalkers, radujcie się.
- Przywrócono stary zmiany, tak aby _.extend poprawnie skopiować klucze z wartościami niezdefiniowanych ponownie.
- Bugfix zatrzymać ucieczki ukośniki w ramach interpolacji w _.template.
Co nowego w wersji 1.3.0:.
- Usunięto AMD (RequireJS) wsparcie podkreślenia
Co nowego w wersji 1.2.4:
- Czy (i prawdopodobnie powinno) Napisać _.chain (lista) zamiast _ (lista) .chain ().
- Fix dla zbiegłych znaków w szablonach podkreślenia i wspierania dostosowań o _.templateSettings że tylko zdefiniować jeden lub dwa z wymaganych regexes.
- Fix dla przekazywanie tablicy jako pierwszy argument do funkcji _.wrap'd.
- Poprawiono kompatybilność z ClojureScript, które dodaje funkcję połączeń do String.prototype.
Co jest nowa w wersji 1.2.3:
- Zakres dynamiczny jest teraz zachowane dla skompilowanego _.template funkcje, dzięki czemu można korzystać z wartości tego, jeśli chcesz.
- Rzadki wsparcie tablica _.indexOf, _.lastIndexOf.
- Zarówno _.reduce i _.reduceRight może teraz być przekazywane wartości wyraźnie zdefiniowane.
Co nowego w wersji 1.2.2:
- Ciąg dalszy poprawek do semantyki _.isEqual. Teraz prymitywy JS są uznane za równoważne z ich zawinięte wersjach, a tablice są porównywane przez ich właściwości numerycznych tylko.
- _. Nie próbuje uciec być inteligentne o ucieczce nie dwukrotnie już uciekli podmioty HTML. Teraz po prostu ucieka niezależnie.
- W _.template, możesz teraz odejść średników z ocenianych sprawozdania, jeśli chcesz: & # x3c;%})% & # x3e; .
- _ po (zwrotna, 0) będzie teraz natychmiast wywołać wywołania zwrotnego, co & quot;. Po & quot; łatwiejszy w użyciu z asynchronicznymi API.
Co nowego w wersji 1.2.1:
- Kilka ważnych poprawek, które do _.isEqual powinien teraz zrobić lepiej na zmutowanych tablic, a na non-Array obiektów o właściwościach długości.
- Czy teraz _.groupBy (lista "Nieruchomość") jako skrót do grupowania wartości przez określonego majątku wspólnego.
- _. Funkcje throttle'd teraz ogień natychmiast po wywołaniu, i są następnie ograniczona szybkość.
- Większość _.is [Typ] sprawdza nie ducktype.
- Funkcja _.bind teraz działa również na konstruktorów, la ES5 ... ale nigdy nie chcesz używać _.bind na funkcji konstruktora.
- _. Nie owija klon typów obiektów w nie obiektów.
- _. Znaleźć i _.filter są obecnie preferowane nazwy _.detect i _.select.
Co nowego w wersji 1.2.0:
- Funkcja _.isEqual obsługuje teraz prawdziwą głęboką równość porównania, z kontroli dla struktur cyklicznych, dzięki Kit Cambridge.
- Szablony podkreślają teraz obsługuje HTML ucieczki interpolacji, używając & # x3c;% - ...% & # x3e; Składnia.
- Ryan Tenney przyczyniły _.shuffle, który wykorzystuje zmodyfikowaną Fisher-Yates, aby dać shuffled kopię tablicy.
- _. Uniq można teraz przeszedł opcjonalny iterator, do określenia przez jakie kryteria należy wziąć pod uwagę przedmiot wyjątkowy.
- _. Trwać przyjmuje teraz opcjonalny argument, który będzie zwracać ostatnie n elementów listy.
- Nowa funkcja _.initial dodano jak lustro _.rest, która zwraca wszystkie wartości początkowe listy (z wyjątkiem ostatniego N).
Co nowego w wersji 1.1.7:
- Dodane _.groupBy, która agreguje w kolekcji grup, takich jak przedmioty.
- Dodane _.union i _.difference, do uzupełnienia (ponownie nazwie) _.intersection.
- Różne usprawnienia dla wsparcia nielicznych tablic. _.toArray zwraca teraz klona, jeśli bezpośrednio przekazywane tablicę. _.functions zwraca teraz także nazwy funkcji, które są obecne w łańcuchu prototypów.
Co nowego w wersji 1.1.6:
- Dodane _.after, która zwróci funkcji że jeździ po pierwsze miano określoną ilość razy. _.invoke może teraz podjąć bezpośrednie odniesienie funkcji. _.every wymaga teraz funkcję iterator być przekazana, co odzwierciedla API ECMA5. _.extend już nie kopiuje klucze, gdy wartość jest nieokreślona. _.bind teraz błędy podczas próby wiązania wartość niezdefiniowana.
Co nowego w wersji 1.1.4:
- Ulepszona zgodność z metod Array ES5 kiedy przechodząc null jako wartość. _.wrap teraz poprawnie ustawia to dla funkcji zawinięte. _.indexOf przyjmuje teraz opcjonalny flagę na znalezienie indeks wstawiania w tablicy, która na pewno już być sortowane.
- Unikanie stosowania .callee, aby umożliwić _.isArray działał prawidłowo w trybie ścisłym ES5 w.
Co nowego w wersji 1.1.3:
- W CommonJS, Podkreślenie może być teraz z tak wymagane :
- var _ = wymagają (& quot; podkreślają & quot;). Funkcje dodane _.throttle i _.debounce.
- Usunięto _.breakLoop, na korzyść ECMA5 stylu un-break-stanie każdej realizacji - to usunięcie try / catch, a ty teraz masz lepsze ślady stosu dla wyjątków, które są wyrzucane w ciągu iterator podkreślenia. Ulepszona rodzinę isType funkcji dla lepszego współdziałania z obiektów goszczących w programie Internet Explorer. _.template teraz poprawnie ucieka backslashy w szablonach. Poprawiona kompatybilność _.reduce z wersją ECMA5: jeśli nie przejdzie wartość początkową, jest używany pierwszy element w kolekcji. _.each nie zwraca kolekcję iteracyjnego, w celu poprawy spójności z forEach ECMA5 w.
Co nowego w wersji 1.0.4:
- Funkcja _ memoize, które mogą być wykorzystywane do. przyspieszyć drogich powtarzające obliczeń poprzez buforowanie wyników.
Co nowego w wersji 1.0.2:.
- Poprawiono _.isArguments dla Opery
Komentarze nie znaleziono