Predmet String
Razred String
je predmetna različica primitivnega tipa string
. Vsebuje lastnosti in postopka za delo z nizi. Vse lastnosti in postopka se lahko uporabi kar na primitivnem tipu string. JavaScript bo v takem primeru vrednost tipa string pretvoril v začasen predmet razreda String, vrnil ali nastavil vrednost ustrezne lastnosti, nato pa uničil začasni predmet.
Index skrajnega levega znaka je 0, nato se povečuje v smeri desno do vrednosti String.length - 1
.
Konstruktorji
- Konstruktor
String()
- Sestavi nov predmet razreda String, ki vsebuje prazen niz.
- Konstruktor
String("...")
- Sestavi nov predmet razreda String, ki vsebuje niz
Lastnosti
- Lastnost
length
-
Vrednost predstavlja spremenljivko štetja števil od znaka s katerim se niz prične. Kot znaki se v nizu štejejo tudi postavljena ločila, katerikoli presledek ali posebni znaki, vključno nova vrstica in tabulator.
→
primer
- Lastnost
prototype
- doda lastnost in postopek predmetu
Postopki
- Postopek
charAt(indeks)
- Vrne niz, ki vsebuje znak, ki se v nizu str nahaja na mestu indeks. Če je indeks negativen, večji ali enak dolžini niza, postopek vrne prazen niz.
→
primer
- Postopek
charCodeAt(indeks)
- Vrne unikodo znaka, ki se v nizu str nahaja na mestu indeks. Če je indeks negativen, večji ali enak dolžini niza, postopek vrne število NaN.
Preoblikovanje iz primernega jezika znakov v njihov numerični ekvivalent ima dolgo tradicijo v računalniškem programiranju. V kameni dobi računalništva so bile najbolj običajne oštevilčene tabele po standardu ASCII. V njem so angleški abecedni znaki in ločila z 128 vrednostmi (števila od 0 do 127). Pogosto so uporabljene razne razširjene različice z 256 znaki, z nekaj različicami odvisnimi od operacijskega sistema in jezika. V zadnjem času se uveljalja kodna tabela unicode
z skoraj znaki za skoraj vse jezike, vključno s slikovnimi jeziki in nečrkovnimi abecedami.
→
- Postopek
fromCharCode(...)
- Za obratno kot v prejšnjem primeru poskrbi ta postopek, ki preoblikuje številčne vrednosti v njihove znake. Postopek vrne niz (toda ne predmet String), sestavljen iz znakov, katerih kode so parametri postopka. Postopek se ne ne izvaja nad nizom, ki ga je kreiral uporabnik, temveč vedno nad
String
.
→
primer
- Postopek
concat(...)
- Vrne niz, ki ga sestavi iz niza str in nizov, ki jih dobi za parametre.
→
primer
- Postopek
indexOf(podniz, indeks)
- Tako kot v večini drugih jezikov, tudi v JavaScript obstaja postopek, ki skripti omogoči, da v izbranem nizu določi položaj nekega drugega niza. Kot rezulat vrne indeks prve pojavitve niza podniz v nizu str od mesta indeks naprej. Če je indeks nedefiniran, išče od začetka niza. Če iskanega niza ne najde, vrne -1. Iskanje je občutljivo na velike in male črke! četudi se navede iskanje od vrednosti v nizu dalje, je rezulatat podan glede na začetek niza.
→
primer
- Postopek
lastIndexOf(podniz, indeks)
- Postopek je tesno povezan s postopkom
indexOf()
. Edina razlika je, da ta postopek začne iskanje za zadetkom od konca niza string.length - 1
in deluje nazaj skozi niz. Vse vrednosti indeksa se še vedno štejejo od 0 ki stoji na začetku niza. Postopek vrne indeks zadnje pojavitve niza podniz v nizu str pred mestom indeks. Če je indeks nedefiniran, išče od konca niza. Če iskanega niza ne najde, vrne -1. Iskanje je občutljivo na velike in male črke!
→
primer
- Postopek
match(regexp)
- Ta postopek se nanaša na predmet
RegExp (regular expression)
. Obdelovana vrednost niza je levo od pike, medtem ko je predmet regular expression
uporabljen in podan kot parameter. Parameter mora biti veljaven izraz ustvarjen glede na dva načina na katera je ta predmet lahko ustvarjen.
Za isaknje splošnega iskanja mora regular expression
vsebovati zastavico 'g' (global), če iskanje ne bo občutljivo na velike čeke pa zastavico 'i' (ignore case).
→
primer
- Postopek
replace(regexp, novi)
- Veljavni izrazi so navadno uporabljeni za izvrševanje operacij najdi-in-zamenjaj (search-and-replace). JavaScriptov postopek replace() poskrbi za enostavno orodje, ki omogoča to vrsto operacij na vseh nizih.
Postopek najdi in zamenjaj
zahteva tri atribute. Prvi je osnovni niz, ki je tarča operacije. Drugi je osnovni izraz ki ga iščemo. Tretji je niz, ki bo zamenjal vsak zadetek, na primer najden tekst, v operaciji. Za postopek replace()
, je osnovni niz tisti, ki da vrednost ali navede vire. Niz je lahko tudi navaden niz (t.j. besedilo obdano z narekovaji). Regularniizraz, ki ga iščemo, je prvi parameter, medtem ko je zamenjan niz drugi parameter. Definicija regular expression
določi če se bo zamenjal samo prvi zadetek v glavnem stringu ali pa vsi zadetki v stringu. Če se doda parameter g
na konec regular expression
, potem se zahteva za postopek replace() izvrši najdi-in-zamenjaj globalno skozi celoten glavni niz.
Dokler veste kako generirati regular expression
, ni potrebno biti genij, da znate uporabljat postopek replace() za izvedbo preprostih operacij za zamenjavo. Uporaba splošnih izrazov lahko naredi operacijo močnejšo.
- Postopek
search(regexp, novi)
- Rezultat postopka vas lahko spominja na postopek
string.indexOf()
. V obeh primerih je vrnjena vrednost je številka znaka kjer se pojavi prvi ujemajoči string v glavnem stringu ali -1 če ni zadetka. Velika razlika je da je ujemajoči string za string.search() je regularen izraz.
- Postopek
slice(začetek, konec)
- Postopek je podoben postopku
substring()
. Oba pa dovoljujeta prevzeti del nekega niza in ustvariti nov niz kot rezultat. Koristna izboljšava v string.slice()
je odvisnost končne vrednosti indeksa z koncem obdelovanega niza. Spodnja izraza sta enakovredna:
string.substring(4, (string.length-2))
string.slice(4, -2)
Postopek vrne podniz, ki vsebuje znake na mestih z indeksi, ki so večji ali enaki začetka in strogo manjši od konca. Če je kateri od indeksov negativen, izračuna ustrezen pozitiven indeks, pri čemer znake šteje od konca proti začetku (-1 je indeks zadnjega znaka). Če je začetek večji od konca, vrne prazen niz.
- Postopek
split(ločilo, omejitev)
- Poistopek niz razbije na podnize glede na dano ločilo, ki je lahko niz poljubne dolžine ali pa regularen izraz. Dobljene podnize vrne v tabeli (predmet razreda Array). Če je ločilo prazen niz, postopek niz str razbije na posamezne znake. Če je niz prazen, je rezultat odvisen od ločila. Če je tudi ločilo prazno vrne polje, ki vsebuje prazen niz, sicer pa prazno polje. Če podamo omejitev, bo postopek v polje zapisal samo prvih toliko podnizov.
Postopek je funkcionalno nasproten postopku array.join()
.
- Postopek
substring(začetek, konec)
- Vrne podniz, ki vsebuje znake na mestih z indeksi, ki so večji ali enaki začetek in strogo manjši od konec. Če je kateri od indeksov negativen, postopek deluje, kot da je enak 0. Če je kateri od indeksov večji od dolžine niza, postopek deluje, kot da je enak dolžini niza. Če je začetek večji od konca, ju zamenja.
- Postopek
toString()
Postopek valueOf()
- Oba postopka vrneta vrednosti niza. Če se ustvari predmet String s konstruktorjem new String(), je tip tega predmeta
predmet
. Torej, če je potrebno pogledati bolj podrobno, katera vrednost je v predmetu, je mogoče uporabiti postopek valueOf()
. Kot rezultat se dobi vrednost, ki se jo lahko nato pregleda še z operatorjem typeOf. Postopek ToString()
obstaja za ta predmet predvsem, ker predmet String podeduje ta postopek iz izvirnega predmeta v JavaScript.
- Postopek
toLowerCase()
Postopek toUpperCase()
-
Velik del tega, kar se dogaja v Internetu (in v JavaScript), je občutljivo na velike in male črke. URL na nekaterih strežnikih, npr. so občutljivi na velike in male črke pri imenih map in datotek. Ta dva enostavna postopka vrneta kopijo niza, v katerem vse znake spremenita v male ali velike črke. Vsi mešani nizi so spremenjeni v univerzalno velikost. Če bi želeli primerjati uporabnikov vnos iz polja s kodiranim nizom podatkov, ne da bi morali skrbeti za ujemanje velikosti, se lahko spremeni oba niza v isto velikost in se ju primerja.
toLowerCase()
vrne niz, pri čemer vsako veliko črko spremeni v ustrezno malo črko.
toUpperCase()
vrne niz, pri čemer vsako veliko črko spremeni v ustrezno veliko črko.
→
primer
- Postopek
localeCompare(niz)
- Vrne rezultat primerjave niza str z nizom niz. Če sta niza enaka, vrne 0, če je niz str manjši od niza niz, vrne negativno vrednost, sicer pa vrne pozitivno vrednost. Niza primerja glede na regionalne nastavitve operacijskega sistema.
- Postopek
toLocaleLowerCase()
- Vrne niz str, pri čemer vsako veliko črko spremeni v ustrezno malo črko glede na regionalne nastavitve. Postopek deluje enako kot postopek toLowerCase, razlike so le pri redkih jezikih (na primer pri turškem jeziku).
- Postopek
toLocaleUpperCase()
- Vrne niz str, pri čemer vsako malo črko spremeni v ustrezno veliko črko glede na regionalne nastavitve. Postopek deluje enako kot postopek toUpperCase, razlike so le pri redkih jezikih (na primer pri turškem jeziku).
Gor
e-gradiva
JavaScript
Spajanje
URL
SERŠ Maribor : Strokovna gimnazija
: 2004 : Darijan Isa