Werken met strings
Het object type "String" is de kern van JavaScript. Alle data wordt behandeld als string, tenzij je expliciet aangeeft dat het iets anders moet zijn.
Feitelijk is een string een lijst (array) van karakters (letters, cijfers, leestekens, enz.). Het eerste karakter heeft volgnummer (index) 0, het tweede karakter heeft index 1, het derde karakter heeft index 2, enzovoort. Dit maakt het betrekkelijk eenvoudig om tekens toe te voegen, te veranderen en te verwijderen. Hiervoor zijn functies beschikbaar; eigenlijk zijn dit methodes van het object String.
Het is niet nodig een string expliciet te declareren, maar het mag wel. De code:
my_text = new String("Dit is een rijtje karakters")is correct, maar is niet nodig omdat elke variabele automatisch van het type string is. Deze code is voldoende:
let my_text = "Dit is een rijtje karakters"
Er is ook nog het zogenaamde 'escape'-karakter; dit is '\', de backslash. Hiermee geef je aan dat het eerstvolgende karakter onderdeel is van de string, en niet deel is van de JavaScript-code.
- Strings manipuleren
- Onder het manipuleren van strings verstaan we hier:
werken met de inhoud van strings. Dat kan zijn: karakters zoeken, invoegen, weghalen, vervangen, enz. Voor al deze zaken beschikt het String-object over methodes, elk met een eigen functionaliteit. - Een opsomming van de JavaScript String-methodes vind je op bijvoorbeeld w3schools.com.
- Onder het manipuleren van strings verstaan we hier:
- Gebruik:
- Zet de functies gewoon achter de string.
- Voorbeeld: de code
a = 'Dit is een voorbeeld';
document.write('Aantal karakters in string a: ' + a.length + '<br>');
document.write(a.substring(11,20).toUpperCase()+'<br>');
a = a.replace('een','een mooi');
document.write(a.replace('is','was'));
toont op het scherm:
- Verouderde String-methodes
- Bij elke functie is de overeenkomende HTML 4.01-tag genoemd (Sommige van deze tags bestaat niet meer in HTML5).
big() Grote tekens, zoals met <BIG> blink() Tekst laten knipperen, zoals met <BLINK> bold() Tekst vet zetten, zoals met <B> fixed() Tekst met vaste breedte
, zoals met <TT>fontcolor(kleur) Stel de kleur in met <FONT>. De parameter kleur is de RGB-code voor de gewenste kleur: '#RRGGBB'. fontsize(grootte) Stel de lettergrootte in met <FONT>. De parameter grootte is -net zoals in HTML- een getal tussen 1 en 7. italics() Tekst cursief zetten, zoals met <I> small() Tekst klein zetten, zoals met <SMALL> strike() Tekst doorhalen, zoals met <STRIKE> sub() Tekst in subscript zetten, zoals met <SUB> sup() Tekst in superscript zetten, zoals met <SUP>
Deze functies maken geen deel uit van de huidige JavaScript-standaard. Veel browsers ondersteunen ze nog, maar de werking kan per browser verschillen. Het effect is dus tot op zekere hoogte onvoorspelbaar. In voorkomende gevallen is het beter om CSS te gebruiken, dat is veiliger.
In dit verband moet ook substr() worden genoemd. Deze methode uit de begintijd van JavaScript is uit de standaard verdwenen, maar wordt nog door alle browsers ondersteund. De parameters eerste en aantal van substr() geven het eerste en het aantal te kopiëren karakters aan. De functionaliteit is overgenomen door substring() en slice().
- Gebruik:
- Zet de functies gewoon achter de string.
- Voorbeeld: de (verouderde) code
document.write('Dit is een '+' string'.bold().fontsize('4').
fontcolor('#000099'))
toont op het scherm:
- 'Escape'-codes
- Escape-codes gebruik je voor verschillende doeleinden:
- Besturen van tekst-uitvoer: regeleinde, nieuwe pagina. vroeger printer, teletype, fax, enz
- Voorkomen dat karakters onjuist worden geïnterpreteerd door de browser, bijv. aanhalingstekens.
- Invoegen van speciale karakters die op het toetsenbord niet voorkomen (Latin-1 code of Unicode, bijvoorbeeld ç of ¿)
- Hieronder volgt een opsomming van de mogelijkheden in JavaScript:
\n Newline (nieuwe regel) \t Tab \' Apostrof of enkel aanhalingsteken dat de tekenreeks niet afsluit. \" Dubbel aanhalingsteken dat de tekenreeks niet afsluit. \\ Enkele backslash - Hieronder een aantal verouderde zaken, die je in heel oude code nog kunt tegenkomen:
\a Geef een pieptoon \b Backspace (één teken terug) \f Form feed (nieuwe bladzijde) \r Carriage Return (regeleinde) \ooo Teken dat bepaald wordt door het octale getal ooo. Latin-1-code. \xhh Teken dat bepaald wordt door het hexadecimale getal hh. Latin-1-code. \uhhhh Teken dat bepaald wordt door het hexadecimale getal hhhh. Unicode. \z Elk ander teken z dat hierboven niet werd genoemd. - Gebruik:
- Zet de escape-codes gewoon midden in de string.
- Voorbeeld: de code
document.write('Hier staan een \" \\ dubbel aanhalingsteken en een
backslash')
toont op het scherm:
- Niet al deze codes werken met document.write of in message-boxen. Om bijvoorbeeld een regeleinde in te bouwen moet
je een <br>-tag gebruiken.
\n en \t zijn vooral handig als je met behulp van JavaScript een >tetxtarea< wilt vullen, bijvoorbeeld als uitvoer van een rekenproces. - Deze codes kunnen ook gebruikt worden met de functions window.alert(), window.confirm() en window.prompt(). Zie het item Message-boxen voor een beschrijving.
Bronnen o.a.: w3schools.com
Opmerking:
Gebruik escape-codes alleen als het echt nodig is. Het blijkt meestal vanzelf dat je een escape-code moet gebruiken, als bijvoorbeeld
strings niet (helemaal) worden getoond op je pagina.