Dokumentacja języka JavaScript 1.5:Obiekty:String:substring
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
Spis treści |
[edytuj] Podsumowanie
Zwraca podciąg obiektu String.
| Metoda obiektu: String | |
| Zaimplementowana w: | JavaScript 1.0, NES2.0 |
| Wersja ECMA: | ECMA-262 |
[edytuj] Składnia
substring(indexA, [indexB])
[edytuj] Parametry
-
indexA - Liczba całkowita pomiędzy 0, a liczbą o jeden mniejszą niż długość łańcucha znaków.
-
indexB - (opcjonalny) Liczba całkowita pomiędzy 0 i długością łańcucha znaków.
[edytuj] Opis
substring urywa znaki z indexA lecz nie włącza ich do indexB. W szczególności:
- Jeśli
indexAjest mniejsze niż 0,indexAzostanie potraktowany tak, jakby był 0.
- Jeśli
indexBjest większe niżstringName.length,indexBzostanie potraktowany tak, jakby byłstringName.length.
- Jeśli
indexAjest równeindexB,substringzwraca pusty łańcuch znaków.
- Jeśli
indexBjest pominięty,substringurwie znaki znajdujące się na końcu łańcucha znaków.
[edytuj] W JavaScript 1.2
Stosujemy LANGUAGE="JavaScript1.2" w znaczniku SCRIPT,
- Jeśli
indexAjest większy niżindexB, JavaScript wytworzy błąd systemowy (brak pamięci).
Bez LANGUAGE="JavaScript1.2" w znaczniku SCRIPT,
- Jeśli
indexAjest większy niżindexB, JavaScript zwrócisubstring(indexB, indexA).
[edytuj] Przykłady
[edytuj] Przykład: Zastosowanie substring
Następujący przykład substring stosujemy do wyświetlenia znaków ze słowa "Mozilla":
var anyString = "Mozilla"; // Wyświetli "Moz" document.write(anyString.substring(0,3)); document.write(anyString.substring(3,0)); // Wyświetli "lla" document.write(anyString.substring(4)); document.write(anyString.substring(4,7)); document.write(anyString.substring(7,4)); // Wyświetli "Mozill" document.write(anyString.substring(0,6)); // Wyświetli "Mozilla" document.write(anyString.substring(0,7)); document.write(anyString.substring(0,10));
[edytuj] Przykład: Zamina podciągu wewnątrz ciągu
Następujący przykład zamienia podciąg wewnątrz ciągu. Zostaną zamienione oba poszczególne znaki i podciągi. Funkcja zostanie wywołana na koniec przykładu zmieniając łańcuch znaków; "Brave New World" na "Brave New Web".
function replaceString(oldS, newS, fullS) {
// Replaces oldS with newS in the string fullS
for (var i = 0; i < fullS.length; i++) {
if (fullS.substring(i, i + oldS.length) == oldS) {
fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length);
}
}
return fullS;
}
replaceString("World", "Web", "Brave New World");
[edytuj] Przykład: JavaScript 1.2 i błąd "Brak pamięci"
W JavaScript 1.2, stosując LANGUAGE="JavaScript1.2", do następującego kodu powodowało wystąpienie błędu systemowego (braku pamięci).
<SCRIPT LANGUAGE="JavaScript1.2"> var str = "Mozilla"; document.write(str.substring(0,3)); document.write(str.substring(3,0)); </SCRIPT>
Bez LANGUAGE="JavaScript1.2", powyższy skrypt wyświetlał na ekranie następujący fragment:
Moz Moz