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
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"