JavaScript merkkijono

JavaScript-merkkijonot käytetään tekstin tallentamiseen ja käsittelyyn.

JavaScript merkkijono

JavaScript-merkkijonot ovat lainausmerkeissä olevia nollasta useisiin merkkeihin.

Esimerkki

var x = \"Bill Gates\";

Kokeile itse

Voit käyttää yksinkertaisia tai kahdenlaisia lainausmerkkejä:

Esimerkki

var carname = \"Porsche 911\";
var carname = 'Porsche 911';

Kokeile itse

Voit käyttää merkkijonossa lainausmerkkejä, kunhan ne eivät vastaa merkkijonon ympärillä olevia lainausmerkkejä:

Esimerkki

var answer = \"It's good to see you again!\";
var answer = \"He is called 'Bill'\";
var answer = 'He is called \"Bill\"';

Kokeile itse

merkkijonon pituus

sisäänrakennettu ominaisuus length voidaan palauttaa merkkijononpituus:

Esimerkki

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

Kokeile itse

Erikoismerkit

Koska merkkijono on oltava lainausmerkeissä, JavaScript voi sekoittaa tämän merkkijonon:

var y = "Kiina on porcelaanin kotimaata, joten china ja"China(Kiina)"saman nimellä."

Tämä merkkijono jaetaan "Kiina on porcelaanin kotimaata, joten china ja".

Tämän ongelman ratkaisu on käyttää \ käänteinen pystysuuntainen viiva-merkkijono.

Käänteinen pystysuuntainen viiva-merkkijonon erottamiseksi erikoismerkeiksi:

Koodi Tulos kuvaus
\' ' Yksinkertainen lainausmerkki
\" " Kaksinkertainen lainausmerkki
\\ \ Kaksinkertainen viiva

Esimerkki

Jono \" Lisää kaksinkertainen lainausmerkki merkkijonoon:

Esimerkki

var x = "Kiina on posliinin kotimaa, joten china on samanniminen kuin \"China (Kiina)\"."

Kokeile itse

Jono \' Lisää yksinkertainen lainausmerkki merkkijonoon:

Esimerkki

var x = 'It\'s good to see you again';

Kokeile itse

Jono \\ Lisää kaksinkertainen viiva merkkijonoon:

Esimerkki

var x = "Merkki \\ kutsutaan kaksinkertaiselle viivalle.";

Kokeile itse

Koodausmerkkiä (\)voidaan käyttää myös muiden erityismerkkien lisäämiseen merkkijonoon.

Muut kuusi JavaScriptissä vallitsevaa koodausketjua:

Koodi Tulos
\b Takavastausnappi
\f Sivu
\n Uusi rivi
\r Rivinvaihto
\t Vaakasuuntainen tabulaattori
\v Pystysuuntainen tabulaattori

Nämä kuusi koodauksesta vapauttavaa merkkiä suunniteltiin alun perin hallitsemaan kirjoittimia, telekopioita ja faksiluettimia. Ne eivät ole merkityksellisiä HTML:ssä.

Pitkien koodirivien katkaisu

Parhaan luettavuuden vuoksi ohjelmistokehittäjät välttelevät yleensä yhden rivin koodin ylittävää 80 merkkiä.

Jos jokin JavaScript-komento ei sovi yhdelle riville, parhaa katkaisupaikkaa on jokin operaattori jälkeen:

Esimerkki

document.getElementById("demo").innerHTML =
"Hei Kitty.";

Kokeile itse

Voit myösMerkkijonossaRivinvaihto, yksi kaksinkertaisella viivalla:

Esimerkki

document.getElementById("demo").innerHTML = "Hei \
Kitty!";

Kokeile itse

\ Tämä metodi ei ole ECMAScript (JavaScript) -standardin mukainen.

Joissakin selaimissa tämä ei myöskään ole sallittua \ Avaruudet merkkijonon lopussa.

Pitkien merkkijonojen katkaisun turvallisinta tapaa (mutta hieman hitaampaa) on käyttää merkkijonon lisäystä:

Esimerkki

document.getElementById("demo").innerHTML = "Hei" + 
"Kitty!";

Kokeile itse

Et voi katkaisua koodiriviä kautta kaksinkertaisella viivalla:

Esimerkki

document.getElementById("demo").innerHTML = \ 
"Hei Kitty!";

Kokeile itse

Merkkijonot voivat olla objekteja

Yleensä JavaScript-merkkijonot ovat alkuperäisiä arvoja, jotka luodaan lukuilevaisuuden kautta:

var firstName = "Bill"

Mutta merkkijonot voidaan myös määritellä avainsanalla new Määritellään objektina:

var firstName = new String("Bill")

Esimerkki

var x = "Bill";
var y = new String("Bill");
// typeof x palauttaa merkkijonon
// typeof y palauttaa objektin

Kokeile itse

Älä luo merkkijonoja objekteiksi. Se hidastaa suorituskykyä.

new avainsana monimutkaistaa koodia. Saattaa myös aiheuttaa odottamattomia tuloksia:

Kun käytetään == yhtäkkäisyysoperatorin käyttöä, yhtäkkäiset merkkijonot ovat yhtäkkäisiä:

Esimerkki

var x = "Bill";             
var y = new String("Bill");
// (x == y) on true, koska x ja y ovat yhtäkkäisiä

Kokeile itse

Kun käytetään === operatorin käyttöä, yhtäkkäiset merkkijonot eivät ole yhtäkkäisiä, koska === Operatorit vaativat sekä tyyppien että arvojen yhtäkkyyden.

Esimerkki

var x = "Bill";             
var y = new String("Bill");
// (x === y) on false, koska x ja y ovat eri tyyppiä (merkkijono ja objekti)

Kokeile itse

Ei ole pahempaa. Objektit eivät voi olla verrattavissa:

Esimerkki

var x = new String("Bill");             
var y = new String("Bill");
// (x == y) on false, koska x ja y ovat eri objekteja

Kokeile itse

Esimerkki

var x = new String("Bill");             
var y = new String("Bill");
// (x === y) on false, koska x ja y ovat eri objekteja

Kokeile itse

Huomaa (x==y) ja (x===y) ero.

JavaScript-objektit eivät voi olla vertailtavissa, kaksi JavaScript-vertausta aina palauttaa false.