Apply your JS skills to key Mozilla projects as an MDN Fellow! http://mzl.la/MDNFellowship

mozilla
Wyniki wyszukiwania

    watch

    Niestandardowy

    Podsumowanie

    Obserwuje własność obiektu i wywołuje funkcję, kiedy nastąpi przypisanie wartości do tej własności.

    Metoda obiektu: Object
    Zaimplementowana w: JavaScript 1.2, NES 3.0

    Składnia

    watch(wlasnosc, monitor)

    Parametry

    wlasnosc 
    Nazwa obserwowanej własności obiektu.
    monitor 
    Funkcja, która ma zostać wywołana przy zmianie własności.

    Opis

    Obserwuje własność wlasnosc danego obiektu i wywołuje monitor(wlasnosc, stara_wartosc, nowa_wartosc) kiedy tylko wlasnosc jest ustawiana. Funkcja monitorująca może filtrować (lub zerować [ang. 'nullify']) przypisanie wartości, zwracając zmodyfikowaną nowa_wartosc (lub stara_wartosc).

    Jeśli zostanie usunięta własność, która miała funkcję monitorującą, ta funkcja monitorująca nie znika. Jeśli później własność ta zostanie odtworzona, funkcja monitorująca ciągle działa.

    Aby usunąć funkcję monitorującą, należy użyć metody unwatch. Domyślnie metoda watch jest dziedziczona przez każdy obiekt pochodzący od Object.

    Debuger JavaScriptu posiada możliwości podobne do tych dostarczonych przez metodę watch, jak również wiele innych narzędzi przydatnych podczas analizy kodu. Więcej informacji można znaleźć na stronie Venkman.

    Przykłady

    Przykład: Zastosowanie watch i unwatch

    <script language="JavaScript">
    
    var o = {p:1};
    o.watch("p",
       function (id,oldval,newval) {
          document.writeln("o." + id + " zmieniona z "
             + oldval + " na " + newval);
          return newval;
       });
    
    o.p = 2;
    o.p = 3;
    delete o.p;
    o.p = 4;
    
    o.unwatch('p');
    o.p = 5;
    
    </script>
    

    Powyższy skrypt wyświetla:

    o.p zmieniona z 1 na 2
    o.p zmieniona z 2 na 3
    o.p zmieniona z undefined na 4
    

    Zobacz także

    unwatch


    Autorzy i etykiety dokumentu

    Contributors to this page: Ptak82, teoli, Marcoos, Mgjbot
    Ostatnia aktualizacja: teoli,