ECMAScript-muuttujat

Muuttujia määritetään var laskurin avulla.

Muuttujien nimittämiselle on noudatettava joitakin yksinkertaisia sääntöjä.

Määritä muuttuja

Edellisessä luvussa olemme käsitelleet, että ECMAScriptissä muuttujat määritellään var laskurin (muuttujan lyhenteen) ja muuttujan nimen avulla. Esimerkiksi:

var test = "hi";

Tässä esimerkissä määritellään muuttuja test ja alustetaan sen arvo "hi" (merkkijono). Koska ECMAScript onHeikko tyyppijoten selitysohjelma luo testille automaattisesti merkkijonon arvonEi tarvita selkeää tyyppilauseketta

Voit myös määrittää kaksi tai useampaa muuttujaa yhdellä var lausekkeella:

var test1 = "hi", test2 = "hello";

Edellinen koodi määrittää muuttujan test1, jolla on alkuperäinen arvo "hi", ja määrittää muuttujan test2, jolla on alkuperäinen arvo "hello".

MuttaSamalla var lausekkeella määritellyt muuttujat eivät välttämättä ole samanlaista tyyppiäKuten seuraavassa näkyy:

var test = "hi", age = 25;

Tämä esimerkki määrittää testin (uudelleen) ja määrittää age:n arvoksi 25. Vaikka test ja age ovat eri tyyppisiä tietoja ECMAScriptissä, tämä määrittely on täysin laillinen.

Eri kuin Java, ECMAScriptissä muuttujat eivätEi välttämättä alustaaNe alustetaan taustalla, mikä käsitellään myöhemmin). Siksi seuraava rivi on myös kelvollinen:

var test;

Erilainen on myös muuttujien alustus Java:sta poiketenVoivat sisältää erilaisia arvojaTämä on heikkojen tyyppien etu. Esimerkiksi voidaan alustaa muuttuja merkkijonon arvolla ja sitten asettaa sille numerovarasto, kuten seuraavassa:

var test = "hi";
alert(test);
test = 55;
alert(test);

Tämä koodi tulostaa ilman ongelmia merkkijonon ja numerovarastot. Mutta kuten edellä mainittiin, hyvät koodauskäytännöt edellyttävät, että muuttujissa säilytetään aina samanlaista arvoa.

Nimeä muuttujia

Muuttujien nimittämiselle on noudatettava kaksi yksinkertaista sääntöä:

  • Ensimmäinen merkki täytyy olla kirjain, alaviiva (_), tai dollari symboli ($)
  • Jäljelle jäävät merkit voivat olla alaviiva, dollari symboli ($) tai mikä tahansa kirjain tai numero

Seuraavat muuttujat ovat laillisia:

var test;
var $test;
var $1;
var _$te$t2;

Tunnetut muuttujien nimittämisohjeet

Vain siksi, että muuttujan nimen syntaksi on oikein, ei se tarkoita, että niitä pitäisi käyttää. Muuttujien tulisi myös noudattaa seuraavia tunnettuja nimittämisohjeita:

Camel-merkinnät

Ensimmäinen kirjain on pieni kirjain, ja seuraavat kirjaimet ovat isokirjaimia. Esimerkiksi:

var myTestValue = 0, mySecondValue = "hi";

Pascal-merkinnät

Ensimmäinen kirjain on isokirjain, ja seuraavat kirjaimet ovat isokirjaimia. Esimerkiksi:

var MyTestValue = 0, MySecondValue = "hi";

Unkarin tyyppimerkinnät

Lisää pieni kirjain (tai pienikirjojen sarja) Pascal-merkinnän nimen eteen, joka kertoo muuttujan tyypin. Esimerkiksi i tarkoittaa kokonaislukua, s tarkoittaa merkkijonoa, kuten seuraavassa:

var iMyTestValue = 0, sMySecondValue = "hi";

Tämä kurssi käyttää näitä etuliitteitä, jotta esimerkkikoodi on helpommin luettava:

Tyyppi Etuliite Esimerkki
Taulukko a aValues
Totuusarvo b bFound
Luku (liukuluku) f fValue
Funktio fn fnMethod
Tuplapuoli (luku) i iValue
Objekti o oType
Säännöllinen lauseke re rePattern
Merkkijono s sValue
Muuttujatyypit (voivat olla mitä tahansa) v vValue

Muuttujien ilmoittaminen ei ole välttämätöntä

ECMAScriptin toinen mielenkiintoinen puoli (ja merkittävä ero useimpiin ohjelmointikieliin) on, että ei tarvitse ilmoittaa muuttujia ennen niiden käyttöä. Esimerkiksi:

var sTest = "hello ";
sTest2 = sTest + "world";
alert(sTest2);

Yllä olevassa koodissa ensin sTest ilmoitetaan merkkijonoksi "hello". Seuraavassa rivissä sTest2 muuttuja yhdistää sTestin merkkijonoon "world". Muuttujaa sTest2 ei ole määritelty var-laskulla, tässä se on vain lisätty, ikään kuin se olisi jo ilmoitettu.

ECMAScriptin tulkki luo uuden globaalin muuttujan, jolle annetaan muuttujan nimi ja alustetaan annetulla arvolla, kun se törmää määrittelemättömään tunnukseen.

Tämä on kielen mukavuus, mutta jos ei voi seurata muuttujia tiiviisti, tämä voi olla myös vaarallista. Parhaampi tapa on ilmoittaa kaikki muuttujat, kuten muiden ohjelmointikielten tapaan.