⊗jsPmFVGb 218 of 505 menu

Globālie mainīgie funkcijās JavaScript

JavaScript (lielākajā daļā citu valodu tas parasti nav tā) mainīgie, kas definēti ārpus funkcijas, būs redzami šīs funkcijas iekšienē. Tādus mainīgos sauc par globāliem mainīgajiem. Apskatīsim piemērā:

let num = 1; // mainīgais ārpus funkcijas function func() { console.log(num); // mainīgais num ir redzams funkcijas iekšienē } func(); // izvadīs 1

Patiesībā mainīgajam jābūt definētam ne pirms funkcijas definēšanas, bet pirms tās izsaukšanas:

function func() { console.log(num); } let num = 1; // mainīgais ārpus funkcijas func(); // izvadīs 1

Ja maina mainīgā vērtību un pēc tam katru reizi izsauc funkciju - console.log katru reizi izvadīs dažādus rezultātus:

function func() { console.log(num); } let num; // deklarējam mainīgo num = 1; // iestatām vērtību 1 func(); // izvadīs 1 num = 2; // iestatām vērtību 2 func(); // izvadīs 2

Ja mums ir vairākas funkcijas, tad globālais mainīgais būs pieejams katrā no šīm funkcijām:

function func1() { console.log(num); } function func2() { console.log(num); } let num = 1; func1(); // izvadīs 1 func2(); // izvadīs 1

Ja vienā no funkcijām notiks izmaiņas ar globālo mainīgo, tad šis mainīgais mainīsies visās funkcijās, kas izmanto šo mainīgo:

function func1() { console.log(num); num++; // mainām globālo mainīgo } function func2() { console.log(num); } let num = 1; func1(); // izvadīs 1 func2(); // izvadīs 2

Tā kā jebkura no funkcijām var viegli mainīt globālo mainīgo, tad to izmantošana pārstāv grūti noķeramu kļūdu avotu. Šī iemesla dēļ globālo mainīgo izmantošanu skriptā nepieciešams samazināt līdz minimumam. Vēlams, lai to vispār nebūtu vai būtu vis mazākais daudzums.

Noteikt, nepalaist kodu, ko izvadīs konsole:

let num = 1; function func() { console.log(num); } func();

Noteikt, nepalaist kodu, ko izvadīs konsole:

let num = 1; function func() { console.log(num); } num = 2; func();

Noteikt, nepalaist kodu, ko izvadīs konsole:

function func() { console.log(num); } let num; num = 1; func(); num = 2; func();
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt