Įvairios JavaScript kalbos kintamųjų yra būtini duomenims saugoti ir apdoroti. Šiuo atveju svarbu suprasti, kur šie kintamieji yra galiojantys ir kokias kodų sritis jie gali pasiekti. Atsižvelgiant į skirtingas kintamųjų rūšis – globalius ir lokalius – "Scopes" (matomumo sritis) supratimas yra esminis. Todėl panagrinėkime, kas yra globalūs ir lokalūs kintamieji.
Pagrindinės įžvalgos
- Globalūs kintamieji yra prieinami visame kode, o lokalūs kintamieji matomi tik savo funkcijoje.
- Kintamojo deklaravimas už funkcijos ribų daro jį globaliu, o deklaravimas funkcijos viduje – lokaliu.
- Siekiant aiškios struktūros ir priežiūros per paprastas kodavimo formas, naudinga globalius kintamuosius deklaruoti skripto pradžioje.
Žingsnis po žingsnio instrukcijos
Kintamųjų apibrėžimas ir jų matomumas
Pirmajame žingsnyje pažiūrėsime, kaip sukurti kintamąjį ir ką reiškia jo matomumas. Jei deklaruosi kintamąjį už bet kurios funkcijos, kaip parodyta toliau pateiktame pavyzdyje, jis bus globalus.

Čia mes kuriame globalų kintamąjį pavadinimu meineVariable.
Lokalūs kintamieji funkcijose
Vėliau sukursime dvi funkcijas. Vienai funkcijai duosime pavadinimą lokalusFunkcija, kurioje sukurti lokalų kintamąjį. Šis kintamasis matomas tik funkcijos viduje. Apibrėžkime savo funkciją.
Funkcijoje lokalusFunkcija sukuri lokalų kintamąjį lokalusV su vertė 5 ir išvedi jį.
Funkcijų kvietimas
Dabar norime iškviesti lokalusFunkcija, kad išvesti skaičių 5. Po to, kai mūsų funkcija buvo iškviesta kode, išvestis bus tokia:
Lokalus kintamojo matomumas
Dabar bandysime panaudoti lokalų kintamąjį lokalusV kitoje funkcijoje. Pastebėsi, kad tai neveiks. Pasidarykime kvietimą kitaFunkcija ir pažiūrėkime, kas nutiks.
Gauname klaidą, nes kintamasis lokalusV yra matomas tik lokalusFunkcija.
Klaidų tikrinimas konsolėje
Norint geriau suprasti, kodėl kyla klaida, išnagrinėsime kodą konsolėje. Spustelėk dešiniuoju pelės mygtuku ir pasirink „Tikrinti“ norėdamas atidaryti DOM tyrinėtoją ir konsolę, kad išanalizuoti klaidą.

Čia rodoma, kad lokalusV yra undefined. Tai patvirtina prielaidą, kad kintamasis už savo funkcijos ribų neegzistuoja.
Globalaus kintamojo apibrėžimas
Dabar sukursime globalų kintamąjį, kurį galime naudoti abiejose funkcijose. Pavadinsime jį globalusKintamasis ir suteiksime jam paprastą tekstinę vertę.

Dabar šis globalus kintamasis gali būti kviečiamas abiejose funkcijose, o išvestis bus ta pati. Išbandykime tai.

Kintamųjų apibrėžimų ir kvietimo sekos
Svarbu atkreipti dėmesį, kad kintamųjų ir funkcijų apibrėžimo tvarka yra lemiama. Jei sukursi globalų kintamąjį po jo naudojimo, tai sukelia undefined problemą.
To priežastis ta, kad funkcija, kuriai reikia globalaus kintamojo, jį iškviečia prieš jo apibrėžimą. Norint to išvengti, patartina globalius kintamuosius deklaruoti patalpinant juos aukštesnėse kodo vietose.
Daugiau apie lokalus kintamuosius ir jų naudojimą
Dabar vėl sukursime lokalų kintamąjį kitoje funkcijoje. Mes pavadinsime jį lokalusKintamasis ir suteiksime jam vertę 12.
Mes taip pat galime naudoti šį lokalų kintamąjį, bet tik savo funkcijoje, o ne kitose. Jei naudosite abu lokalus kintamuosius, tai gali suteikti kantrybės ir tvarkos jūsų programuose, priklausomai nuo sudėtingumo.
Koncepcijų apžvalga
Dabar tu supranti pagrindinius konceptus apie matomumą ir kintamųjų galiojimo sritį JavaScript. Globalūs kintamieji yra matomi visoms funkcijoms, o lokalūs kintamieji egzistuoja tik savo funkcijoje. Patartina globalius kintamuosius apibrėžti centrinėje vietoje kode, kad pagerintum skaitymo ir priežiūros patogumą.
Apibendrinimas – Kintamųjų matomumas JavaScript
Apibendrinant, sužinojai, kad kintamųjų apibrėžimo būdas turi tiesioginę įtaką jų matomumui ir galiojimo sričiai. Visada atkreipk dėmesį, kur įterpi kintamuosius, kad išvengtum klaidų.
Dažnai užduodami klausimai
Kas yra globalūs kintamieji?Globalūs kintamieji yra kintamieji, kurie deklaruojami už funkcijų ribų ir taip yra prieinami visame skripte.
Kas yra lokalūs kintamieji?Lokalūs kintamieji yra kintamieji, kurie sukurti funkcijos viduje ir matomi tik šioje funkcijoje.
Kaip geriausiai naudoti globalius kintamuosius?Rekomenduojama globalius kintamuosius deklaruoti skripto pradžioje, kad būtų užtikrinta aiški struktūra ir geresnė priežiūra.
Ar galiu naudoti lokalūs kintamuosius už jų funkcijos ribų?Ne, lokalūs kintamieji matomi tik toje funkcijoje, kurioje jie buvo deklaruoti.
Kaip elgtis su undefined klaidomis?Atkreipk dėmesį į kintamųjų ir funkcijų apibrėžimo seką, kad užtikrintum, jog reikalingi kintamieji būtų apibrėžti prieš jų naudojimą.