mozilla
Wyniki wyszukiwania

    toString

    Podsumowanie

    Zwraca łańcuch znaków reprezentujący dany obiekt.

    Metoda obiektu: Object
    Zaimplementowana w: JavaScript 1.0
    Wersja ECMA ECMA-262

    Składnia

    toString()

    Opis

    Każdy obiekt posiada metodę toString, która jest wywoływana automatycznie, kiedy obiekt ma zostać przedstawiony jako wartość tekstowa, albo kiedy obiekt jest dołączany do ciągu znakowego. Poniższe przykłady wymagają, by jakisPies był reprezentowany jako łańcuch znaków:

    document.write(jakisPies)
    document.write("jakisPies to " + jakisPies)
    

    Domyślnie metoda toString jest dziedziczona przez każdy obiekt wyprowadzony z obiektu Object. Można przesłonić tę metodę dla własnych obiektów. Jeśli toString nie zostanie przesłonięta we własnych obiektach użytkownika, zwróci ona [object typ], gdzie typ jest typem obiektu lub nazwą funkcji konstruktora, która utworzyła ten obiekt.

    Na przykład:

    var o = new Object()
    o.toString() // zwraca "[object Object]"
    

    Wbudowane metody toString

    Każdy obiekt wbudowany z jądra JavaScriptu przesłania metodę toString, by zwracała właściwą wartość. JavaScript wywołuje tę metodę za każdym razem, kiedy zachodzi potrzeba przekonwertowania obiektu na łańcuch znaków.

    Przesłanianie domyślnej metody toString

    Można utworzyć funkcję, która będzie wywoływana zamiast domyślnej metody toString. Metoda toString nie pobiera żadnych argumentów i powinna zwrócić łańcuch znaków. Utworzona przez użytkownika metoda toString może zwracać dowolną wartość, ale najlepiej, by przekazywała użyteczne informacje na temat obiektu.

    Poniższy kod definiuje typ obiektowy Pies i tworzy obiekt jakisPies typu Pies:

    function Pies(nazwa,rasa,wiek,plec) {
       this.nazwa=nazwa
       this.rasa=rasa
       this.wiek=wiek
       this.plec=plec
    }
    
    jakisPies = new Pies("Szarik","owczarek niemiecki","5","samiec")
    

    Jeśli wywołana zostanie metoda toString tego obiektu, zwrócona zostanie domyślna wartość odziedziczona po Object:

    jakisPies.toString() // zwraca [object Object]
    

    Poniższy kod tworzy funkcję piesToString, która to funkcja będzie przesłaniać domyślną metodę toString. Funkcja ta tworzy łańcuch znaków zawierający każdą własność; budowany łańcuch będzie postaci "własność = wartość;".

    function piesToString() {
       var ret = "Pies " + this.nazwa + " to: [\n"
       for (var prop in this)
          ret += " " + prop + " = " + this[prop] + ";\n"
       return ret + "]"
    }
    

    Poniższy kod przypisuje zdefiniowaną powyżej funkcję do metody toString obiektów typu obiektowego Pies:

    Pies.prototype.toString = piesToString
    

    Dzięki powyższemu kodowi za każdym razem, kiedy jakisPies używany jest w kontekście łańcucha znaków, interpreter JavaScriptu automatycznie wywołuje funkcję piesToString, która zwraca poniższy łańcuch:

    Pies Szarik to: [
      nazwa = Szarik;
      rasa = owczarek niemiecki;
      wiek = 5;
      plec = samiec;
    ]
    

    Metoda toString danego obiektu jest zazwyczaj wywoływana przez interpreter JavaScriptu, ale można ją wywołać samodzielnie, jak poniżej:

    var piesString = jakisPies.toString()
    

    Zgodność wsteczna

    JavaScript 1.2

    Zachowanie metody toString zależy od tego, czy w znaczniku <SCRIPT> znajdzie się atrybut LANGUAGE="JavaScript1.2":

    • Jeśli znacznik <SCRIPT> zawiera LANGUAGE="JavaScript1.2", metoda toString zwraca literał obiektowy.
    • Jeśli znacznik <SCRIPT> nie zawiera LANGUAGE="JavaScript1.2", metoda toString zwróci [object typ], jak w innych wersjach JavaScriptu.

    Przykłady

    Przykład: Obiekt location

    Poniższy przykład wypisuje łańcuch znaków odpowiadający aktualnemu adresowi.

    document.write("location.toString() to " + location.toString() + "<br />")
    

    Wynik:

    location.toString() to file:///C|/TEMP/myprog.html
    

    Przykład: Obiekt bez wartości tekstowej

    Załóżmy, że mamy obiekt typu Image, nazwany sealife, zdefiniowany w języku HTML następująco:

    <img name="sealife" src="images\seaotter.gif" align="left" vspace="10">
    

    Ponieważ obiekt Image nie ma własnej metody toString, sealife.toString() zwróci:

    [object Image]
    

    Przykład: Parametry pierwiastka

    Poniższy przykład wypisuje tekstowe odpowiedniki liczb od 0 do 9 w notacji dziesiątkowej i dwójkowej:

    for (x = 0; x < 10; x++) {
       document.write("Dziesiętnie: ", x.toString(10), " Dwójkowo: ",
          x.toString(2), "<BR>")
    }
    

    Wynik działania powyższego skryptu:

    Dziesiętnie: 0 Dwójkowo: 0
    Dziesiętnie: 1 Dwójkowo: 1
    Dziesiętnie: 2 Dwójkowo: 10
    Dziesiętnie: 3 Dwójkowo: 11
    Dziesiętnie: 4 Dwójkowo: 100
    Dziesiętnie: 5 Dwójkowo: 101
    Dziesiętnie: 6 Dwójkowo: 110
    Dziesiętnie: 7 Dwójkowo: 111
    Dziesiętnie: 8 Dwójkowo: 1000
    Dziesiętnie: 9 Dwójkowo: 1001
    

    Zobacz także

    toSource, valueOf


    Autorzy i etykiety dokumentu

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