Programmeerimise valdkonnas on arusaam kehtivusväljadest (Scopes) hädavajalik, et arendada tõhusat ja puhtat tarkvara. JavaScriptis on erinevaid kehtivusvälju, sealhulgas funktsionaalsed kehtivusväljad. Selles juhendis uurid selle kontseptsiooni aluseid ja saad kasulikke näiteid parema illustreerimise jaoks.
Peamised järeldused
- Kehtivusala määrab, kus muutujaid programmides eksisteerib.
- Funktsionaalsed kehtivusväljad loovad kohalikke muutujaid, mis ei ole funktsiooni väljast kättesaadavad.
- Globaalmuutujad on kogu skriptis kergesti kättesaadavad, mis võib põhjustada võimalikke nimerikkumisi.
- Muutujate elutsükkel on seotud nende kasutamisega funktsioonide sees.
Samm-sammuline juhend
1. Lihtne näide kehtivusala kohta
Selleks, et aru saada funktsionaalsest kehtivusväljast, alustame lihtsast funktsioonist. Selles funktsioonis deklareerid kohaliku muutuja. See on kehtiv ainult funktsiooni sees.
Siin toimub arvutamine ja tulemus kuvatakse HTML-dokumendis. Väljund on 25, kui kutsud funktsiooni.

2. Katse kohalikule muutuja juurde pääseda
Kui proovid funktsiooni väljast kohalikule muutuja juurde pääseda, siis kohtad probleeme. See tähendab, et sa ei saa muutuja ergebnisse funktsiooni väljast pöörduda.
Kuna muutuja ergebnis ei eksisteeri, saad viga, kui proovid seda kutsuda. See on oluline märk kehtivusala kohta.

3. Globaalsete muutuja loomine
Et muuta muutuja globaalseteks kergesti kättesaadavaks, saad selle deklareerida väljaspool funktsiooni. Selline muutuja on kogu skriptis kergesti kättesaadav.
function berechnung() { ergebnis = 5 * 5; // Muudab globaalset muutuja }
Siin luuakse muutuja ergebnis globaalsetes nimede ruumides. Kui nüüd funktsiooni kutsud, siis sead muutuja ergebnis väärtuseks 25 ja saad sellele väärtusele juurdepääsu ka funktsiooni väljast.

4. Erinevus kohaliku ja globaalse nimede ruumi vahel
Oluline erinevus on selles, kus muutujaid deklareeritakse. Kohalikud muutujaid, mis deklareeritakse funktsiooni sees, eksisteerivad ainult funktsiooni täitmise ajal. Kui need on globaalsed, on nad kogu skriptis nähtavad.
Kui soovid muuta kohalikku muutuja, mis eksisteerib globaalses nimede ruumis, pead veenduma, et juurdepääs on õige.
5. Muutujate kaudne deklareerimine
Oluline on märkida, et saad muutuja deklareerida ka ilma võtmesõnata let või var. Sel juhul on muutuja samuti globaalne.
Kuigi see töötab, ei ole see soovitatav lähenemine, kuna see muudab sinu koodi segaseks ja võib põhjustada ootamatuid konflikte.
6. Muutujate elutsükkel
Muutuja elutsükkel on veel üks oluline kontseptsioon. Kohalikud muutujaid eksisteerivad ainult seni, kuni funktsioon on aktiivne. Funktsiooni lõppedes kustutatakse kohalik muutuja.

7. Selgus läbi selge deklareerimise
Selleks, et muuta oma skripti selgemaks, peaksid muutujaid alati selgelt deklareerima. See aitab sul hoida ülevaadet, kus ja kui palju muutujaid eksisteerib, ning takistab tahtmatute globaalsete muutujate tekkimist.
8. Kokkuvõte kehtivusväljadest
Kehtivusväljad JavaScriptis on fundamentaalsed, et mõista, kuidas muutujaid funktsioonide sees käituvad. JavaScript eristab kohalikke ja globaalseid nimede ruume. Sügav arusaam sellest kontseptsioonist on oluline, et programmeerida puhtalt ja efektiivselt.
Kokkuvõte – Kehtivusväljade alused JavaScriptis
Kehtivusväljade mõistmine JavaScriptis on tõhusaks programmeerimiseks väga oluline. Mõistdes kohalike ja globaalsete muutujaid, saad luua tõhusat ja hooldatavat koodistruktuuri.
Korduma kippuvad küsimused
Mis on kehtivusväljad?Kehtivusväljad määravad, kus muutujaid programmis eksisteerib ja millised on nende juurdepääsute õigused.
Mis on erinevus kohalike ja globaalsete muutujate vahel?Kohalikud muutujaid eksisteerivad ainult funktsiooni sees, samas kui globaalsete muutujaid on kogu skriptis kergesti kättesaadavad.
Kaua kohalike muutujate eksisteerivad?Kohalikud muutujaid eksisteerivad ainult funktsiooni täitmise ajal, kus nad on deklareeritud.
Miks peaks muutujaid selgelt deklareerima?Selged deklareerimised muudavad koodi selgemaks ja takistavad tahtmatute globaalsete muutujate tekkimist.