JavaScript strängar
- Föregående sida JS-händelser
- Nästa sida JS-strängmetoder
JavaScript-strängar används för att lagra och manipulera text.
JavaScript strängar
JavaScript-strängar är en eller flera tecken inom citationstecken.
Exempel
var x = "Bill Gates";
Du kan använda antingen enkla eller dubbla citationstecken:
Exempel
var carname = "Porsche 911"; var carname = 'Porsche 911';
Du kan använda citationstecken i strängar, så länge de inte matchar citationstecknen som omger strängen:
Exempel
var answer = "Det är trevligt att träffa dig igen!"; var answer = "Han kallas 'Bill'"; var answer = 'Han kallas "Bill"';
stränglängd
inbyggda egenskapen length
kan returnera strängenslängd:
Exempel
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
Specialtecken
Eftersom strängen måste omges av citationstecken kommer JavaScript att missförstå denna sträng:
var y = "Kina är hemlandet för keramik, så china och"China (Kina)"har samma namn.";
Denna sträng kommer att delas upp i "Kina är hemlandet för keramik, så china och".
En lösning för att undvika detta problem är att använda \ escape-karakter.
Backslash-escapekaraktern konverterar specialtecken till strängkaraktärer:
Kod | Resultat | beskrivning |
---|---|---|
\' | ' | enkle citattecken |
\" | " | Dubbel citationstecken |
\\ | \ | Backsteg |
Exempel
sekvens \"
Infoga dubbel citationstecken i strängen:
Exempel
var x = "Kina är hemlandet för keramik, därför är china och\"China (Kina)\"同名."
sekvens \'
Infoga enkel citationstecken i strängen:
Exempel
var x = 'It\'s good to see you again';
sekvens \\
Infoga backsteg i strängen:
Exempel
var x = "Tecknet \\ kallas backsteg.";
Escape-tecken (\
) kan också användas för att infoga andra specialtecken i strängen.
Andra sex escape-sekvenser som är giltiga i JavaScript:
Kod | Resultat |
---|---|
\b | Backsteg |
\f | Sidbrytning |
\n | Ny rad |
\r | Retur |
\t | Horisontellt tab-tecken |
\v | Vertikalt tab-tecken |
Dessa sex escape-tecken var ursprungligen designade för att styra skrivmaskiner, telegraftangentbord och faxmaskiner. De har ingen mening i HTML.
Lång kodrad brytning
För bästa läsbarhet undviker programmare vanligtvis att ha mer än 80 tecken per rad.
om en JavaScript-sats inte passar på en hel rad, är det bästa brytningspunkten efter en operator:
Exempel
document.getElementById("demo").innerHTML = "Hello Kitty.";
Du kan ocksåi strängenbryt raden, genom att använda ett backsteg:
Exempel
document.getElementById("demo").innerHTML = "Hello \ Kitty!";
\
metoden är inte en del av ECMAScript (JavaScript) standard.
Vissa webbläsare tillåter inte heller \
utrymme efter tecknet.
Det säkraste sättet att bryta raden för långa strängar är att använda stringaddition (men det kan vara långsamt):
Exempel
document.getElementById("demo").innerHTML = "Hello" + "Kitty!";
Du kan inte bryta raden med backsteg i koden:
Exempel
document.getElementById("demo").innerHTML = \ "Hello Kitty!";
Strängar kan vara objekt
Normalt sett är JavaScript-strängar ursprungliga värden, skapade genom litterala sätt:
var firstName = "Bill"
Men strängar kan också definieras via nyckelord new
Definieras som objekt:
var firstName = new String("Bill")
Exempel
var x = "Bill"; var y = new String("Bill"); // typeof x kommer att returnera string // typeof y kommer att returnera object
Vänligen skapa inte strängar som objekt. Det kommer att fördröja exekveringen.
new
Nyckelord kan komplicera koden. Det kan också orsaka några oväntade resultat:
När du använder ==
När du använder lika operatorn är det ofta lika strängar som är lika:
Exempel
var x = "Bill"; var y = new String("Bill"); // (x == y) är true eftersom x och y har samma värde
När du använder ===
Operatören när, är det ofta olik strängar som inte är lika: ===
Operatören behöver både typ och värde för att vara lika.
Exempel
var x = "Bill"; var y = new String("Bill"); // (x === y) är false eftersom x och y har olika typ (sträng och objekt)
Även värre. Objekt kan inte jämföras:
Exempel
var x = new String("Bill"); var y = new String("Bill"); // (x == y) är false eftersom x och y är olika objekt
Exempel
var x = new String("Bill"); var y = new String("Bill"); // (x === y) är false eftersom x och y är olika objekt
Observera skillnaden mellan (x==y) och (x===y).
JavaScript-objekt kan inte jämföras, jämförelse av två JavaScript kommer alltid att returnera false
.
- Föregående sida JS-händelser
- Nästa sida JS-strängmetoder