ECMAScript Variabelen

Gebruik de var-betekenis om variabelen te declareren.

De naam van de variabele moet enkele eenvoudige regels volgen.

Variabele declareren

In het vorige hoofdstuk hebben we uitgelegd dat variabelen in ECMAScript worden gedefinieerd met de var-betekenis (afkorting van variable) en de variabelenaam. Bijvoorbeeld:

var test = "hi";

In dit voorbeeld is de variabele test gedeclareerd en zijn waarde geïnitialiseerd op "hi" (een string). Omdat ECMAScript isZwakke typewaardenis, dus de interpreter maakt automatisch een stringwaarde voor test aanGeen expliciete typeverklaring nodig.

Je kunt ook twee of meerdere variabelen definiëren met één var-statement:

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

Deze code definieert de variabele test1 met de initiële waarde "hi" en de variabele test2 met de initiële waarde "hello".

MaarVariabelen die met dezelfde var-statement worden gedefinieerd, hoeven niet hetzelfde type te zijn, zoals hieronder:

var test = "hi", age = 25;

Dit voorbeeld definieert naast (opnieuw) test ook age en initialiseert deze op 25. Hoewel test en age verschillende datatypen zijn, is het in ECMAScript volledig legaal om op deze manier te definiëren.

Verschillend van Java, zijn variabelen in ECMAScript nietHoef niet geïnitialiseerd te worden(ze worden achter de schermen geïnitialiseerd, dit wordt later besproken)。Daarom is de volgende regel code ook geldig:

var test;

Daarnaast is er een verschil met Java in variabelenKan verschillende typen waarden opslaan. Dit is de voordeel van zwakke typewaarden. Bijvoorbeeld, kun je een variabele initialiseren met een stringwaarde en deze later instellen op een getalwaarde, zoals hieronder:

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

Dit stuk code zal probleemloos een stringwaarde en een getalwaarde weergeven. Maar zoals eerder vermeld, is het een goede codingsgewoonte om altijd dezelfde typewaarden op te slaan wanneer je variabelen gebruikt.

Naamgeving van variabelen

De naam van de variabele moet voldoen aan twee eenvoudige regels:

  • De eerste teken moet een letter, een onderstrepingsteken (_) of een dollar-teken ($) zijn
  • De overige tekens kunnen zijn een onderstrepingsteken, een dollar-teken of enige letter of cijfer

De volgende variabelen zijn legaal:

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

Bekende variabelennaamregels

Maar omdat de syntaxis van de variabelennaam correct is, betekent dit niet dat ze moeten worden gebruikt. Variabelen moeten ook voldoen aan een van de volgende bekende naamgevingsregels:

Camel-markering

De eerste letter is klein, de volgende letters beginnen met een hoofdletter. Bijvoorbeeld:

var myTestValue = 0, mySecondValue = "hi";

Pascal-markering

De eerste letter is hoofdletter, de volgende letters beginnen met een hoofdletter. Bijvoorbeeld:

var MyTestValue = 0, MySecondValue = "hi";

Hongaarse type-markering

Voeg een kleine letter (of een reeks kleine letters) toe aan de variabelen genaamd Pascal-markering, om het type van de variabele aan te geven. Bijvoorbeeld, i voor integer, s voor string, zoals hieronder aangegeven:

var iMyTestValue = 0, sMySecondValue = "hi";

Deze handleiding gebruikt deze voorvoegsels om de voorbeeldcodes leesbaarder te maken:

Type Voorvoegsel Voorbeeld
Array a aValues
Booleaanse waarde b bFound
Float (getal) f fValue
Functie fn fnMethod
Integer (getal) i iValue
Object o oType
Reguliere expressie re rePattern
String s sValue
Variabele (kan elk type zijn) v vValue

Variabele-declaratie is niet vereist

Een andere interessante kant van ECMAScript (en een belangrijk verschil met de meeste programmeertalen), is dat het niet nodig is om variabelen te declareren voordat je ze gebruikt. Bijvoorbeeld:

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

In de bovenstaande code wordt eerst sTest gedeclareerd als een string met de waarde "hello". In de volgende regel wordt sTest met de string "world" samengevoegd met de variabele sTest2. De variabele sTest2 is niet met de var-bewerker gedefinieerd, hier is deze gewoon ingevoegd, net alsof deze al was gedeclareerd.

Wanneer de interpreter van ECMAScript een ongedeclareerde identifier tegenkomt, maakt hij een globale variabele aan met die variabelennaam en_initialiseert_ deze met de opgegeven waarde.

Dit is de handigheid van deze taal, maar als je de variabelen niet nauwkeurig kunt volgen, kan dit ook gevaarlijk zijn. De beste gewoonte is om net als met andere programmeertalen altijd alle variabelen te declareren.