Mainīgie JavaScript ir būtiski, lai uzglabātu un apstrādātu datus. Ir svarīgi saprast, kur šie mainīgie ir derīgi un uz kurām savu koda daļām tie var piekļūt. Ņemot vērā atšķirīgas mainīgo veidus – globālos un lokālos – „Skopa“ (redzamības joma) izpratnes apguve ir būtiska. Tātad, ļauj mums ienirt un noskaidrot, kāds ir globālo un lokālo mainīgo raksturs.

Galvenās atziņas

  • Globālie mainīgie ir pieejami visā kodā, kamēr lokālie mainīgie ir redzami tikai savā funkcijā.
  • Ja tu definē mainīgo ārpus funkcijas, tas kļūst globāls, bet definējot to iekšā funkcijā, tas kļūst lokāls.
  • Skaita un apkopes vieglībai ir izdevīgi definēt globālos mainīgos skripta sākumā.

Solim pa solim ceļvedis

Mainīgo definēšana un to redzamība

Pirmajā solī aplūkosim, kā tu vari izveidot mainīgo un ko nozīmē tā redzamība. Ja tu deklarē mainīgo ārpus jebkuras funkcijas, kā parādīts turpmākajā piemērā, tas ir globāls.

Globālās un lokālās mainīgās JavaScript

Šeit mēs izveidojam globālu mainīgo ar nosaukumu meineVariable.

Funkciju izveidošana ar lokālajiem mainīgajiem

Tālāk mēs izveidosim divas funkcijas. Viena no funkcijām tiks nosaukta par lokaleFunktion, kurā mēs izveidosim lokālo mainīgo. Šis mainīgais ir redzams tikai funkcijas ietvaros. Apskatīsim mūsu funkciju definīciju.

lokaleFunktion tu izveidosi lokālo mainīgo lokaleV ar vērtību 5 un izvadīsi to.

Funkciju izsaušana

Tagad mēs vēlamies izsaukt localeFunktion, lai izvadītu skaitli 5. Pēc tam, kad mēs esam izsaukuši funkciju kodā, izvadīšana izskatīsies šādi:

Lokālā mainīgā redzamības pārbaude

Tagad mēs mēģināsim izmantot lokālo mainīgo localeV citā funkcijā. Tu pamanīsi, ka tas nedarbojas. Apskatīsim cituFunktion izsaukumu un redzēsim, kas notiks.

Mēs saņemam kļūdu, jo mainīgais localeV ir redzams tikai lokālo funkciju ietvaros.

Kļūdu pārbaude konsolē

Lai labāk saprastu, kāpēc kļūda rodas, mēs izpētīsim kodu konsolē. Ar peles labo pogu un izvēloties „Pārbaudīt” tu vari atvērt DOM izpētītāju un konsoli, lai analizētu kļūdu.

Globālās un lokālās mainīgās JavaScript

Tur tiks parādīts, ka localeV ir nedzīvs (undefined). Tas apstiprina pieņēmumu, ka mainīgais ārpus savas funkcijas neeksistē.

Globālā mainīgā definēšana

Tagad izveidosim globālu mainīgo, ko mēs varam izmantot abās funkcijās. Mēs šo mainīgo sauksim par globaleVariable un piešķirsim tam vienkāršu tekstu.

Globālās un lokālās mainīgās JavaScript

Tagad šo globālo mainīgo var izsaukt abās funkcijās un izvada rezultāts būs tas pats. Pārbaudīsim to.

Globālas un vietējās mainīgās JavaScript

Mainīgo definēšana un izsaukuma secība

Ir svarīgi atzīmēt, ka mainīgo un funkciju definēšanas secība ir izšķiroša. Ja tu izveido globālu mainīgo tās izmantošanas apakšā, tas radīs undefined-problēmu.

Tas notiek tāpēc, ka funkcija, kurai nepieciešama globālā mainīgā vērtība, izsauc to pirms tās definēšanas. Lai to novērstu, ir ieteicams globālos mainīgos definēt vispirms kodā.

Vairāk par lokālajiem mainīgajiem un to izmantošanu

Tagad mēs atkal izveidosim lokālo mainīgo citā funkcijā. Šeit mēs to nosauksim par localeVariable un iestatīsim tā vērtību uz 12.

Mēs varam arī izmantot šo lokālo mainīgo, bet tikai savā funkcijā, nevis citās. Ja tu lietosi abus lokālos mainīgos, tie var prasīt pacietību un kārtību tavās programmās, atkarībā no sarežģītības.

Koncepciju kopsavilkums

Tu tagad esi sapratis pamata konceptus par mainīgo redzamību un darbības jomu JavaScript. Globālie mainīgie ir redzami visām funkcijām, kamēr lokālie mainīgie eksistē tikai savā funkcijā. Ieteicams definēt globālos mainīgos centrālā vietā kodā, lai uzlabotu lasāmību un apkopojamību.

Kopsavilkums – Mainīgo redzamība JavaScript

Kopsavilkumā tu esi uzzinājis, ka veids, kā tu definē mainīgos, tieši ietekmē to redzamību un darbības jomu. Vienmēr pievērs uzmanību tam, kur tu novieto savus mainīgos, lai izvairītos no kļūdām.

Bieži uzdotie jautājumi

Kas ir globālie mainīgie?Globālie mainīgie ir mainīgie, kuri ir deklarēti ārpus funkcijām un tādējādi ir pieejami visā skriptā.

Kas ir lokālie mainīgie?Lokālie mainīgie ir mainīgie, kuri ir izveidoti funkcijas iekšienē un ir redzami tikai šajā funkcijā.

Kā vislabāk izmantot globālos mainīgos?Ir ieteicams definēt globālos mainīgos skripta sākumā, lai nodrošinātu skaidru struktūru un labāku apkopojamību.

Vai es varu izmantot lokālos mainīgos ārpus to funkcijas?Nē, lokālie mainīgie ir redzami tikai tajā funkcijā, kurā tie ir definēti.

Kā rīkoties ar undefined-kļūdām?Piešķir uzmanību tam, kādā secībā tu definē mainīgos un funkcijas, lai nodrošinātu, ka nepieciešamie mainīgie ir definēti pirms to izmantot.