Muudatused JavaScriptis on hädavajalikud, et andmeid salvestada ja töödelda. Oluline on mõista, kus need muudatused on kehtivad ja millistele aladele su koodist nad ligi pääsevad. Arvestades erinevat tüüpi muutujate – globaalsete ja kohalik – mõistmine „Scopes“ (nähtavusala) on põhiline. Sukeldugem seega sügavale ja uurime, mida tähendavad globaalsed ja kohalikud muutujad.
Olulised tähelepanekud
- Globaalsed muutujad on igal pool koodis ligipääsetavad, samas kui kohalikud muutujad on nähtavad ainult oma funktsiooni sees.
- Muudatuse määramine funktsiooni väliselt muudab selle globaalseteks, samas kui määramine funktsiooni sees muudab need kohalikeks.
- Koodi selge ja hooldatava struktuuri jaoks on kasulik kuulutada globaalsed muutujad skripti alguses.
Sammsammuline juhend
Muudatuste määratlemine ja nende nähtavus
Esimeses etapis vaatame, kuidas saad luua muutujat ja mida tähendab selle nähtavus. Kui sa kuulutad muutujat väljaspool igat funktsiooni, nagu allolevas näites, on see globaalne.

Siin loome me globaalse muutujat nimega meineVariable.
Kohalike muutujate funktsioonide loomine
Seejärel loome kaks funktsiooni. Ühte funktsiooni nimetame kohalikeksFunktsiooniks, kus loome kohaliku muutujat. See muutujat on nähtav ainult funktsioonis.
KohalikusFunktsioonis lood muutujat kohalikuV väärtusega 5 ja jõuad selle välja.
Funktsioonide kutsumine
Nüüd tahame kutsuda kohalikuFunktsiooni, et väljastada number 5. Pärast funktsiooniga koodis töötlemist näeb väljund välja selline:
Kohalike muutujate nähtavuse testimine
Nüüd proovime kasutada kohaliku muutujat kohalikuV teises funktsioonis. Sa märkad, et see ei toimi. Teeme kohalikuFunktsiooni kutsumise ja vaatame, mis juhtub.
Saame vea, sest muutujat kohalikuV on nähtav ainult kohalikuFunktsiooni sees.
Veateate kontrollimine konsoolis
Et paremini mõista, miks viga ilmneb, uurime koodi konsoolis. Paremklõps ja „Kontrolli“ valimine aitab avada DOM-uurija ja konsooli vea analüüsimiseks.

Seal kuvatakse, et kohalikuV on undefined. See tugevdab väidet, et muutujat ei eksisteeri väljaspool oma funktsiooni.
Globaalse muutujat määratlemine
Loome nüüd globaalse muutujat, mida saame mõlemas funktsioonis kasutada. Nimeks paneme sellele globaalseMuudatuse ja anname sellele lihtsa tekstiväärtuse.

Praegu on see globaalne muutujat mõlemas funktsioonis kasutatav ja väljund on sama. Testime seda korra.

Muudatuste määratlemine ja kutsejärjestus
On oluline märkida, et muutujate ja funktsioonide määratlemise järjestus on kriitiline. Kui sa create muutujat alla tema kasutamise, toob see kaasa undefined-probleemi.
Selle põhjuseks on see, et funktsioon, mis vajab globaalset muutujat, kutsub seda enne selle määratlemist. Selle vältimiseks soovitatakse globaalseid muutujat määratleda koodi ülaosas.
Rohkem teavet kohalike muutujate ja nende kasutamise kohta
Nüüd loome teises funktsioonis uuesti kohaliku muutujat. Siin nimetame seda kohalikuMuudatusena ja määrame selle väärtuseks 12.
Saame ka seda kohaliku muutujat kasutada, kuid ainult oma funktsiooni sees, mitte teiste funktsioonide puhul. Kui sa kasutad mõlemat kohalikku muutujat, võib see põhjustada kannatlikkust ja korrapära sinu programmide puhul, sõltuvalt keerukusest.
Kontseptsioonide kokkuvõte
Oled nüüd õppinud põhilisi kontseptsioone muutujate, nähtavuse ja ulatuse kohta JavaScriptis. Globaalsed muutujad on nähtavad kõigis funktsioonides, samas kui kohalikud muutujad eksisteerivad ainult oma funktsioonis. On soovitatav määrata globaalsed muutujad kesksel kohal koodis, et parandada loetavust ja hooldatavust.
Kokkuvõte – Muudatuste nähtavus JavaScriptis
Kokkuvõttes oled õppinud, et see, kuidas sa muutujat määratled, mõjutab otseselt selle nähtavust ja ulatust. Pea alati meeles, kuhu sa oma muutujat asetad, et vältida vigu.
Korduma kippuvad küsimused
Mis on globaalsed muutujad?Globaalsed muutujad on muutujad, mis on määratletud väljaspool funktsioone ja seega on ligipääsetavad kogu skriptis.
Mis on kohalikud muutujad?Kohalikud muutujad on muutujad, mis on loodud funktsiooni sees ja on nähtavad ainult selle funktsiooni sees.
Kuidas saab ma parimal viisil globaalseid muutujad kasutada?Soovitatav on määrata globaalsed muutujad skripti alguses, et tagada selge struktuur ja parem hooldatavus.
Kas ma saan kasutada kohalikke muutujad väljaspool nende funktsiooni?Ei, kohalike muutujad on nähtavad ainult funktsioonis, kus nad on määratletud.
Kuidas tegeleda undefined-erroreid?Oluline on jälgida, millises järjekorras sa määratled muutujad ja funktsioonid, et tagada, et vajalikud muutujad on enne nende kasutamist määratletud.