JavaKomentosarjamuuttuja: Ilmoita, anna arvo esimerkillä
⚡ Älykäs yhteenveto
JavaSkriptimuuttujat tallentavat arvoja, kuten nimiä ja numeroita, tai lausekkeen tuloksen. Muuttujan määrittäminen var-, let- tai const-muuttujalla varaa nimetyn paikan, jonka muu skripti voi lukea ja päivittää.
Muuttujia käytetään arvojen (nimi = ”Matti”) tai lausekkeiden (summa = x + y) tallentamiseen. Jokainen skriptin myöhempää käyttöä varten säilyttämä arvo – käyttäjätunnus, juokseva summa, kyllä- tai ei-lippu – sijaitsee muuttujassa, joten niiden hyvä määrittäminen ja nimeäminen on ensimmäinen taito, joka on opittava. JavaKäsikirjoitus.
Ilmoita muuttujat sisään JavaKäsikirjoitus
Ennen muuttujan käyttöä sinun on ensin määriteltävä se. Sinun on käytettävä avainsanaa var määrittääksesi muuttujan seuraavasti:
var name;
Pelkkä määrittely luo nimen eikä mitään muuta. Tässä vaiheessa muuttuja on olemassa, mutta sen erikoisarvo on määrittelemätön, koska siihen ei ole vielä syötetty arvoa.
⚠️ Versiohuomautus: var on alkuperäinen deklarointiavainsana ja se toimii edelleen jokaisessa selaimessa. ES6 (2015) lisätty antaa ja const, jotka ovat avainsanoja moderni JavaSkriptien käyttötarkoitukset. Molempia verrataan muuttujaan var myöhemmin tällä sivulla.
Määritä muuttujalle arvo
Voit antaa muuttujalle arvon joko muuttujan ilmoittamisen aikana tai muuttujan ilmoittamisen jälkeen.
var name = "John";
OR
var name; name = "John";
Molemmat lomakkeet päättyvät samaan tulokseen. Yksi yhtäsuuruusmerkki on sijoitusoperaattori: se kopioi oikealla olevan arvon vasemmalla olevaan muuttujaan. Se ei ole yhtäsuuruustesti, joka kirjoitetaan == tai === ja kuuluu muuttujaan ehdolliset lausunnot.
Muuttujien nimeäminen
Vaikka voit nimetä muuttujat haluamallasi tavalla, on hyvä ohjelmointikäytäntö antaa muuttujille kuvaavat ja merkitykselliset nimet. Lisäksi muuttujien nimien tulisi alkaa kirjaimella, ja ne ovat kirjainkokoherkkiä. Tästä syystä muuttujat opiskelijannimi ja opiskelijanNimi ovat erilaisia, koska nimessä oleva n-kirjain on eri (n ja N).
Neljä sääntöä ratkaisee, onko nimi ylipäätään laillinen:
- Ensimmäisen merkin on oltava kirjain, dollarimerkki tai alaviiva – ei koskaan numero.
- Ensimmäisen merkin jälkeen sallitaan kirjaimet, numerot, dollarimerkit ja alaviivat.
- Välilyöntejä ei sallita, minkä vuoksi kaksisanainen idea yhdistetään nimellä studentName sen sijaan, että se jätettäisiin kahdeksi sanaksi.
- Varattuja sanoja, kuten var, let, const, class ja return, ei voi käyttää uudelleen niminä.
Sopimuksen mukaan JavaSkriptien nimissä käytetään camelCase-alkuperäiskansia, joten ensimmäinen sana on pieni ja jokainen seuraava sana alkaa isolla kirjaimella: firstName, totalPrice, isLoggedIn.
Alla oleva komentosarja määrittää kaksi muuttujaa, soveltaa niihin viittä aritmeettista operaattoria ja kirjoittaa jokaisen tuloksen sivulle. Kokeile tätä itse:
<html>
<head>
<title>Variables!!!</title>
<script type="text/javascript">
var one = 22;
var two = 3;
var add = one + two;
var minus = one - two;
var multiply = one * two;
var divide = one/two;
document.write("First No: = " + one + "<br />Second No: = " + two + " <br />");
document.write(one + " + " + two + " = " + add + "<br/>");
document.write(one + " - " + two + " = " + minus + "<br/>");
document.write(one + " * " + two + " = " + multiply + "<br/>");
document.write(one + " / " + two + " = " + divide + "<br/>");
</script>
</head>
<body>
</body>
</html>
var vs let vs const Modernissa JavaKäsikirjoitus
Vain var oli olemassa, kun JavaSkripti kirjoitettiin alun perin, ja sillä on kaksi aloittelijoita yllättävää ominaisuutta: se voidaan julistaa uudelleen hiljaisesti, ja se jättää lohkarajat huomiotta. let ja const lisättiin korjaamaan molemmat. Alla olevassa taulukossa kolme avainsanaa on rinnakkain.
| Käyttäytyminen | oli | antaa | const |
|---|---|---|---|
| Laajuus | Koko funktio | Ympäröivä lohko | Ympäröivä lohko |
| Voidaan siirtää | Kyllä | Kyllä | Ei |
| Voidaan ilmoittaa uudelleen samassa soveltamisalassa | Kyllä | Ei | Ei |
| Ilmoitusrivillä vaadittava arvo | Ei | Ei | Kyllä |
| Lue ennen sen julistamista | Palauttaa määrittelemättömän | Viitevirhe | Viitevirhe |
Yksinkertainen tapa sopii lähes kaikkiin tilanteisiin: tartu const vaihda ensin antaa hetkellä, jolloin arvon on todella muututtava, kuten laskuri jonkin sisällä JavaSkriptisilmukatja säilytä muuttuja vanhan koodin lukemista varten uuden koodin kirjoittamisen sijaan.
Muuttuva laajuus ja nosto JavaKäsikirjoitus
Soveltamisala määrittää, mitkä skriptin osat voivat nähdä muuttujan. var-deklaraatio kuuluu funktiolle, joka sen sisältää, joten se ohittaa kaikki if- tai for-lohkot kyseisen funktion sisällä. let- tai const-deklaraatio kuuluu aaltosulkeihin, joiden sisällä se sijaitsee, ja katoaa niiden ulkopuolelle.
function demo() { if (true) { var wide = "visible throughout demo()"; let narrow = "visible only inside these braces"; } console.log(wide); console.log(narrow); }
Ensimmäinen console.log tulostaa merkkijononsa. Toinen heittää ReferenceError-virheen, koska narrow-lauseketta ei enää ole olemassa if-lohkon päätyttyä.
hoisting on tarinan toinen puolisko. JavaSkripti rekisteröi jokaisen laajuusalueen deklaroinnin ennen kuin se suorittaa yhtäkään riviä kyseisestä laajuusalueesta. Muuttujan (Vuor) nimi rekisteröidään ja asetetaan arvoon undefined, joten sen lukeminen varhain on sallittua, mutta hyödytöntä. Let- tai const-nimi rekisteröidään ilman arvoa, ja lohkon yläosan ja deklarointirivin välistä rakoa kutsutaan ajallinen kuollut alue.
console.log(a); var a = 1; console.log(b); let b = 2;
Ensimmäinen rivi tulostaa arvon määrittelemätön. Kolmas rivi päättyy virheeseen ”Cannot access 'b' before initialization” – virhe, joka tekee let-muuttujasta turvallisemman kuin var-muuttujasta, koska se viittaa varsinaiseen virheeseen sen piilottamisen sijaan.
Yleisiä virheitä ilmoitettaessa JavaKomentosarjan muuttujat
Viisi viestiä muodostavat suurimman osan konsolin tulosteesta, jonka aloittelijat näkevät muuttujien oppimisen aikana. Jokainen viesti nimeää tietyn syyn, joten korjaus on yleensä yhdellä rivillä.
| Konsoliviesti | Aiheuttaa | Korjata |
|---|---|---|
| Syntaksivirhe: Tunniste 'x' on jo määritetty | let- tai const-funktiota käytetään kahdesti samalle nimelle samassa lohkossa | Käytä uudelleen olemassa olevaa muuttujaa tai nimeä toinen uudelleen |
| TypeError: Määritys vakiomuuttujaan | Vakiolle annettiin uusi arvo | Määrittele se let-komennolla, jos arvon on muututtava |
| ReferenceError: Ei voida käyttää 'x':ää ennen alustusta | Let- tai const-arvo luettiin ajallisen kuolleen alueen sisäpuolelta. | Siirrä lukukomento deklarointirivin alapuolelle |
| Viitevirhe: x:ää ei ole määritelty | Nimeä ei koskaan mainittu, tai se oli kirjoitettu väärin | Ilmoita se tai korjaa oikeinkirjoitus ja kirjainkoko |
| Määrittelemätön näkyy odotetun arvon kohdalla | Muuttuja on ilmoitettu, mutta sitä ei koskaan asetettu | Määritä arvo ennen ensimmäistä lukukertaa |
Tiedoston alkuun lisäämällä ”use strict” muuttuu neljännen tapauksen hiljaisesta versiosta – nimelle, jota ei koskaan ilmoitettu – näkyväksi virheeksi, minkä vuoksi se kuuluu jokaiseen uuteen komentosarjaan. Samat muuttujasäännöt siirtyvät muuttumattomina myös taulukot, esineetja palvelinpuolen koodia, joka on kirjoitettu Node.js.
