mozilla
Wyniki wyszukiwania

    Nowości w JavaScript 1.6

    JavaScript 1.6 wprowadza nowe funkcje i technologie: E4X, kilka nowych metod Array oraz rodzajów Array i String.

    JavaScript 1.6 jest obsługiwany w Firefoksie 1.5 i późniejszych.

    E4X

    ECMAScript dla XML-a (E4X) jest potężną technologią dla tworzenia i przetwarzania treści XML przez JavaScript. Będziemy dalej usprawniać naszą obsługę E4X, włączając dodanie przezroczystej integracji z istniejącym DOM-em, jednak programiści tworzący internetowe aplikacje XML mogą korzystać z obsługi E4X w Firefoksie 1.5 już teraz.

    Możesz nadal używać standardowego typu MIME używając E4X:

    <script type="text/javascript">
    

    Jednakże składnia E4X może powodować konflikty z popularnymi praktykami umieszczania skryptów w komentarzach HTML (<!--...-->) w celu ukrycia ich przed starymi przeglądarkami. E4X może również powodować konflikty z nowocześniejszą praktyką umieszczania skryptów w XML-owych sekcjach CDATA (<![CDATA[...]]>), aby umożliwić użycie symboli "<" oraz ">" w skryptach (zwróć uwagę, że nie dotyczy to HTML-a). Jeżeli napotkasz dziwne błędy składni, dodaj "; e4x=1" do wartości typu MIME:

    <script type="text/javascript; e4x=1">
    

    Zwróć uwagę, że skrypty w rozszerzeniach zawsze traktują komentarze HTML jako literały E4X. To znaczy, że "e4x=1" jest domniemany.

    E4X jest opisany w Przetwarzanie XML za pomocą E4X

    Dodatkowe funkcje obiektu Array

    Do obiektu Array zostało dodanych 7 nowych metod, które można podzielić na dwie kategorie: metody położenia elementów oraz metody iteratywne. Metody położenia elementów to:

    • indexOf() - zwraca indeks pierwszego wystąpienia danego elementu.
    • lastIndexOf() - zwraca indeks ostatniego wystąpienia danego elementu.

    Metody iteratywne to:

    • every() - wywołuje funkcję na elementach tablicy, dopóki funkcja zwraca wartość true. Zwraca wartość true, jeśli funkcja zwraca true dla każdego odwiedzonego elementu.
    • filter() - wywołuje funkcję na każdym elemencie tablicy i zwraca tablicę wszystkich elementów, dla których funkcja zwraca wartość true.
    • forEach() - wywołuje funkcje na każdym elemencie tablicy.
    • map() - wywołuje funkcję na każdym elemencie tablicy i zwraca wyniki w postaci tablicy.
    • some() - wywołuje funkcję na elementach tablicy, dopóki funkcja zwraca wartość false. Zwraca wartość true, jeśli funkcja zwraca true dla każdego odwiedzonego elementu.

    Więcej infomacji można znaleźć na stronie Praca z tablicami lub w artykule Nicholasa C. Zakasa, Nowe metody Array Mozilli.

    Rodzaje Array i String

    Czasami chcesz zastosować metody tablicy na łańcuchu znaków. Robiąc to traktujesz łańcuch znaków jako tablicę złożoną ze znaków. Przykładowo w celu sprawdzenia, czy wszystkie znaki w zmiennej str są literami, możesz użyć:

    function isLetter(character) {
      return (character >= "a" && character <= "z");
    }
    
    if (Array.prototype.every.call(str, isLetter))
      alert("Ciąg '" + str + "' składa się z samych liter!");
    

    Taki zapis zajmuje stosunkowo dużo miejsca. JavaScript 1.6 wprowadza wygodne uproszczenie:

    if (Array.every(str, isLetter))
      alert("Ciąg '" + str + "' składa się z samych liter!");
    

    W podobny sposób możesz łatwo zastosować metody obiektu String do dowolnego obiektu:

    var num = 15;
    alert(String.prototype.replace(num, /5/, '2'));
    

    Zobacz także Praca z obiektami tablicopodobnymi.

     

     

    Autorzy i etykiety dokumentu

    Contributors to this page: Bedi, piecioshka, teoli, gandalf, Mgjbot, Ptak82, Diablownik
    Ostatnia aktualizacja: teoli,