Objekt string

Vlastnost length - Metody objektu string

String je objekt řetězce. Jeho metody a vlastnosti se dají uplatnit fakticky na každý řetězec nebo proměnou, jejíž obsah je řetězec.

 Správně by se mělo zapisovat

var proměnná = new string()

a teprve potom s proměnnou pracovat. V praxi se to ale nedělá. Stačí řetězec nebo proměnnou použít, to je příjemná zvláštnost objektu string.

Vlastnost length

Jedinou vlastností objektu string je jeho délka -- length. Vrací počet znaků v řetězci. Prázdný řetězec má délku nula. (Pozor na syntaxi: length je správně, lenght je špatně; nepopleťte pořadí písmenek t a h.)

Metody objektu string

Metody objektu string dělím na dvě skupiny: užitečné a zbytečné. Zbytečné metody se snaží řetězce obalit nějakými HTML tagy, což se dá udělat i jinak a logičtěji. Užitečné metody umějí nalézt výskyt podřetězce, převádět řetězec, spojovat atd.

Zbytečné HTML metody objektu string

Metody obalují vstupní hodnotu řetězce nějakým HTML tagem. Příklad použití metody big:

var promenna = "vstup";
document.write( promenna.big() ); // vypíše <big>vstup</big>
document.write( "<big>" + promenna + "<big>"); // vypíše to samé

Bylo by to užitečné jedině v případě, kdy se do proudu dokumentu zapisuje nějaký větší text. A to se dělá jen zřídka, ale hlavně tyto metody existují jen pro některé (většinou zastaralé) tagy. Jediná trochu použitelná metoda je link(), protože usnadňuje zápis odkazu (ten nezastaral).

zbytečná metoda návratová hodnota
anchor("kotva") <a name="kotva">vstup</a>
big() <big>vstup</big>
blink() <blink>vstup</blink>
bold() <b>vstup</b>
fixed() <tt>vstup</tt>
fontcolor("barva"),
nejsem si jistý formátem barvy
<font color="barva">vstup</font>
fontsize(n) <font size="n">vstup</font>
italics() <i>vstup</i>
link("URL") <a href="URL">vstup</a>
small() <small>vstup</small>
strike() <strike>vstup</strike>
sub() <sub>vstup</sub>
sup() <sup>vstup</sup>

Dále pokračují užitečné metody.

Metody velikosti písem

toUpperCase() převádí všechna písmena řetězce na velká, toLowerCase() převádí všechna písmena na malá. Příklad:

promenna = "text".toUpperCase();
document.write(promenna); // vypíše TEXT

Konverzní metoda toString()

Metoda toString() je prakticky skoro nepoužitelná. Je určena k převodu čísel na řetězec, což ale dělá JavaScript automaticky, pokud je to potřeba. Takže toString() většinou vrátí tentýž řetězec. Jediný použitelný příklad ukazuje manipulaci s číslicemi, nikoliv s čísly:

dvojka = 2;
ctyrka = 4;
cislice = dvojka.toString() + ctyrka.toString();
document.write("Sčítání číslic: " + cislice ); // Vypíše 24 jako řetězec
cislo = dvojka + ctyrka;
document.write("Sčítání čísel: " + cislo ); // Vypíše 6 jako číslo

Inverzní metodou by měla být metoda number(), která převede validní číselný řetězec na číslo, ale nejsem si jistý funkčností.

Metody vracející část řetězce

Když se zadají špatné parametry (mimo rozsah řetězce), mělo by to hlásit chybu. Pozice znaků v řetězci je počítána od nuly, to jest první znak je na pozici nula.

charAt(n) vrátí entý znak počítáno od nuly.

charCodeAt(n) vrátí Unicode číslo znaku na enté pozici.

substring() znamená podřetězec

substring(0, 4) vrátí podřetězec začínající prvním znakem (0) a končící pátým (4) včetně. retezec.substring(10, retezec.length - 1) vrátí opdřetězec od desátého znaku do konce.

substr(počáteční pozice, počet znaků) vrátí podřetězec o daném počtu znaků, počínaje pozicí. Jestliže je počáteční pozice záporná, počítá se to od konce řetězce, přičemž -1 znamená poslední znak. Pokud není zadaný druhý parametr (počet znaků), vrací se podřetězec od zadané pozice až do konce řetězce.

Metody skládající řetězec

concat(řetězec1, řetězec2, řetězecN) spojí řetězce do jednoho. Může jich být více. V praxi totéž jako řetězec1 + řetězec2 + ... + řetězecN.

fromCharCode(kód1, kód2, ..., kódN) vytvoří řetězec ze zadaných kódů Unicode. Asi takhle příště budu psát kousky textu azbukou.

Analytické metody

indexOf(podřetězec) vrací pozici výskytu podřetězce v řetězci. Pokud se tam podřetězec nevyskytuje, vrací funkce číslo -1. Metoda string.indexOf() je patrně nejpoužívanější řetězcovou metodou, protože velmi často chci vědět, zda se podřetězec ve stringu nachází. Když je indexOf() to menší než nula, znamená to, že se tam nenachází.

lastIndexOf(podřetězec) vrací poslední výskyt podřetězce v řetězci.

split(oddělovač) vrací pole, v jehož položkách jsou jednotlivé podřetězce, které se v původním řetězci nacházejí mezi oddělovači. Například se takto dá rozdělit text na věty, pokud se jako oddělovač použije tečka. Indexy pole jsou číslovány od nuly. Klasické použití této metody je rozklad cookies. Napřed je oddělovačem středník, potom v cyklu for rovnítko.

 

Píše Yuhů
dusan@pc-slany.cz
mail formulářem
Jak psát web O tvorbě, údržbě a zlepšování internetových stránek.

Základy HTML CSS FrontPage JavaScript

Javascript

Úvod

Základy

První skript v HTML

Proměnné

Hlášky

Začlenění do stránky

Praktické použití

Syntaxe

Základy syntaxe

Operátory

Větvení

Funkce

Objektový model

Objektový model

Objekt window

Metody objektu window

Objekt event

Časování, intervaly

Objekt document

Adresování prvků dokumentu

Objekt String

Zabudované funkce

Události

Použití objektů

Nové okno

Zrušení odesílání formuláře

Hledání


Rozšířené

JavaScript na serveru Jak psát web http://dusan.pc-slany.cz/internet/html/

Píše Yuhů: autorova stránka, mail: dusan@pc-slany.cz