Objekt string

String znamenß °et∞zec - Vlastnost length - Metody objektu string - ZbyteΦnΘ HTML metody

String znamenß °et∞zec

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. Metody se potom aplikujφ takto: 

°et∞zec.metoda()

do zßvorky pat°φ parametry; Φastou chybou je zßpis

metoda(°et∞zec) // tohle je chyba

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.)

alert("kocourek".length) //vyhodφ hlß╣ku 8, proto╛e kocourek mß 8 pφsmen

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.

Dßle pokraΦujφ u╛iteΦnΘ metody.

Metody velikosti pφsem

metoda co to d∞lß
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 co to d∞lß
toString() p°evßdφ Φφsla na °et∞zec

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

metoda co to d∞lß
charAt(n) vrßtφ ent² znak poΦφtßno od nuly
charCodeAt(n) vrßtφ Unicode Φφslo znaku na entΘ pozici
substring(a, b) vrßtφ znaky od a-tΘ do b-tΘ pozice

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.

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

metoda co to d∞lß
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

AnalytickΘ metody

metoda co to d∞lß
indexOf(pod°et∞zec) vracφ pozici v²skytu pod°et∞zce v °et∞zci
lastIndexOf(pod°et∞zec) vracφ poslednφ v²skyt pod°et∞zce v °et∞zci
split(odd∞lovaΦ) vracφ pole pod°et∞zc∙ mezi odd∞lovaΦi

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φ.

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. Nebo se tak odd∞lujφ prom∞nnΘ z adresy - p°φklad.

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>

o tvorb∞, ·dr╛b∞ a zlep╣ovßnφ internetov²ch strßnek

Nßvody HTML CSS JavaScript
Pφ╣e Yuh∙, dusan@pc-slany.cz

Hledßnφ:

Javascript na www.jakpsatweb.cz

Pφ╣e Yuh∙: http://dusan.pc-slany.cz, mail: dusan@pc-slany.cz

Poslednφ aktualizace 10.12.2003