Przewodnik po języku JavaScript 1.5:Obiekty predefiniowane:Obiekt String
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
[edytuj] Obiekt String
Obiekt String ma jedną własność, length, która wskazuje liczbę znaków w łańcuchu znaków. Przykładowo, poniższy kod przypisuje zmiennej x wartość 13, ponieważ "Hello, World!" ma 13 znaków:
myString = "Hello, World!" x = mystring.length
Obiekt String posiada dwa typy metod: zwracające zmienność samego łańcucha znaków, takie jak substring i toUpperCase oraz te, które zwracają wersję łańcucha sformatowaną jako kod HTML, takie jak bold i link.
Na przykład używając poprzedniego przykładu, zarówno mystring.toUpperCase() jak i "hello, world!".toUpperCase() zwrócą łańcuch "HELLO, WORLD!"
Metoda substring pobiera dwa argumenty i zwraca podzbiór łańcucha znaków pomiędzy tymi dwoma argumentami. Posługując się powyższym przykładem, mystring.substring(4, 9) zwróci łańcuch "o, Wo". Zobacz metodę substring obiektu String w Dokumentacja języka JavaScript 1.5, aby uzyskać więcej informacji.
Obiekt String posiada również wiele metod do automatycznego formatowania kodu HTML, takie jak bold do tworzenia pogrubionego tekstu i link do tworzenia hiperłącz. Przykładowo, możesz utworzyć hiperłącze do hipotetycznego adresu URL przy użyciu metody link w następujący sposób:
mystring.link("http://www.helloworld.com")
Poniższe tabela podsumowuje metody obiektu String.
| Metody | Opis |
|---|---|
| anchor | Tworzy nazwaną kotwicę HTML. |
| big, blink, bold, fixed, italics, small, strike, sub, sup | Tworzy w HTML sformatowany łańcuch znaków. |
| charAt, charCodeAt | Zwraca znak lub kod znaku znajdującego się na określonej pozycji łańcucha znaków. |
| indexOf, lastIndexOf | Zwraca odpowiednio pozycję określonego podciągu w łańcuchu znaków lub ostatnią pozycję określonego podciągu. |
| link | Tworzy odnośnik HTML. |
| concat | Łączy tekst z dwóch łańcuchów i zwraca nowy łańcuch znaków. |
| fromCharCode | Buduje łańcuch znaków z określonej sekwencji wartości Unicode. Jest metoda klasy String, a nie instancji String. |
| split | Dzieli obiekt String na tablicę łańcuchów poprzez rozdzielenie łańcucha znaków na podciągi. |
| slice | Wycina fragment łańcucha znaków i zwraca nowy łańcuch. |
| substring, substr | Zwraca określony podciąg łańcucha znaków, poprzez określenie indeksów początkowych i końcowych lub też określenie indeksu początkowego i długości. |
| match, replace, search | Pracuje z wyrażeniami regularnymi. |
| toLowerCase, toUpperCase | Zwraca łańcuch znaków odpowiednio z wszystkimi małymi lub wszystkimi dużymi znakami. |
Tabela 7.4: Metody instancji String
[edytuj] Literały znakowe nie są obiektami String
Obiekt String jest obiektem opakowującym wokół pierwotnego typu danych łańcuchu znaków. Nie myl literału znakowego z obiektem String. Na przykład poniższy kod tworzy literał s1, jak również obiekt String s2:
s1 = "foo" //tworzy wartość literału znakowego
s2 = new String("foo") //tworzy obiekt String
Możesz wywołać dowolną metodę obiektu String na wartości literału znakowego - JavaScript automatycznie skonwertuje literał znakowy do tymczasowego obiektu String, wywoła metodę, a następnie pozbędzie się tymczasowego obiektu String. Możesz również użyć własności String.length z literałem znakowym. Możesz również użyć własności String.length z literałem znakowym.
Powinieneś użyć literału znakowego, chyba że potrzebujesz szczególnie obiektu String, ponieważ obiekty String mogą zachowywać się nieintuicyjnie. Przykładowo:
s1 = "2 + 2" //tworzy wartość literału znakowego
s2 = new String("2 + 2")//tworzy obiekt String
eval(s1) //zwraca liczbę 4
eval(s2) //zwraca łańcuch "2 + 2"