"JavaScript" objektai yra paprasti ir daugiausia susiję su lango turiniu:
dokumentais, nuorodomis, blankais ir t.t. Taip pat ji turi nedidelę
saują vidinių objektų: Date, Math, String, Array ir Object.
Ir nors naujesnėse "JavaScript" versijose (pvz., "Netscape Atlas") jie
realizuoti šiek tiek kitaip, mes šiame straipsnelyje laikysimės tik
klasikinės "Netscape" 2.0 versijos. Šį kartą apžvelgsime tik eilutes.
Tai dažniausiai naudojamas objektas, kuris sukuriamas tiesiog priskiriant
reikšmę kintamajam, pvz.,
Eilutės turi vieną charakteristiką - ilgį, kuri nurodoma, prie eilutės
objekto prijungiant
Tačiau su eilute galima naudoti daugybę metodų, kurie skirstomi į dvi
sritis: eilučių valdymas ir teksto formato nurodymas.
Eilučių valdymo metodai naudojami eilutės turiniui gauti ar pakeisti, pvz.,
Va tik su lietuviškomis raidelėmis problema - bet ar tai rūpi amerikonams?
O "Netscape" 2.0 teturėdama tik vieną "String" objektą, iš kurio kuriamos
visos eilutės, susiduria su įdomiais šalutiniais efektais. pvz.,
Šiame pavyzdėlyje sukuriamos dvi eilutės. Kai pirmajai priskiriama kokia
nors nauja charakteristika, pasirodo, kad ją automatiškai turi ir kita.
Tačiau jų turinys yra stabilus ir negali keistis. T.y. eilutę galima
keisti tik perrašant į kitą vietą. Todėl "JavaScript" programytė, kuri
dažnai keičia eilutes, daug ir šiukšlina greitai sukeldama atminties
skirstymo problemas ir klaidos pranešimą "out of memory", kuris ypač
skuba "iškišti galvytę" "Windows" 3.1 sistemoje. Klasikinis tokios
stichinės nelaimės pavyzdys yra "bėgančios eilutės":
O kad išvengti aukščiau minėtų bėdų tereikia pašalinti "strTmp" kintamąjį ir
eilutę priskirti tiesiog lango būsenos eilutei. Ir nors tai sumažins atminties
rijimą, bet jo nepašalins, nes naudojamas "setTimeout" metodas, kuris
per keletą tūkstančių iteracijų vistiek "suvalgys" visą prieinamą atmintį
išpranašaudamas "out of memory" pranešimą.
Ach tas nelemtas "Java" noras visur šiukšlinti ir nesurinkti savų žaislų.
Ir tai laikoma jos privalumu! Tiesiog - Javavar manoVardas = "Vartiklis";
".length"
, pvz., tokia komanda išves 9:alert(manoVardas.length);
"substring"
- gražinti nurodytą eilutės dalį;
"indexOf"
- gauti simbolio ar jų grupės vietą eilutėje;
"toLowerCase"
arba "toUpperCase"
- perrašyti eilutę
mažosiomis arba didžiosiomis raidėmis.
Pvz.,var laikinasTekstas = "Pakeisti didžiosiomis".toUpperCase();
<SCRIPT>
e1 = "pirma eilutė"
e2 = "antra eilutė"
e1.extra = "nauja charakteristika"
alert (e2.extra)
</SCRIPT><SCRIPT>
var skaitliukas = 0;
var tekstas = "Vartiklis yra geriausias!";
sukti();
function sukti() {
var strTmp = tekstas.substring(skaitliukas, tekstas.length)+tekstas.substring(0, tekstas.length-1)
windows.status = strTmp;
if (skaitliukas < tekstas.length) skaitliukas++;
else skaitliukas = 0;
setTimeout("sukti()", 333);
// 333 ms yra minimali Netscape 2.0 pauzė
}
</SCRIPT>
Lambda išraiškos Java į naują lygį
Java 8: Optional prieš null
Iš kur Javos tas lėtumas?
Unix komandinės eilutė
Didžiųjų duomenų mitas
Tcl kalba