JavaScripti üldised muutujad on selgitatud

Üldised muutujad deklareeritakse väljaspool funktsiooni kogu programmi juurdepääsetavuse jaoks, samas kui kohalikud muutujad salvestatakse funktsioonis, kasutades varainult selle funktsiooni ulatuses. Kui deklareerite muutuja ilma kasutamiseta var, isegi kui see on funktsiooni sees, peetakse seda ikkagi globaalseks:

var x = 5; // global function someThing(y) { var z = x + y; console.log(z); } function someThing(y) { x = 5; // still global! var z = x + y; console.log(z); } function someThing(y) { var x = 5; // local var z = x + y; console.log(z); }

Globaalne muutuja on ka praeguse ulatuse objekt, näiteks brauseriaken:

var dog = “Fluffy”; console.log(dog); // Fluffy; var dog = “Fluffy”; console.log(window.dog); // Fluffy

See on parim tava globaalsete muutujate minimeerimiseks. Kuna muutujale pääseb juurde kõikjal programmis, võivad need põhjustada kummalist käitumist.

Viited:

  • var -Javascript | MDN
  • Te ei tea JavaScripti: reguleerimisala ja sulgemine

Mis vahe on globaalsel varil ja javascripti window.variable-l?

JavaScripti muutujate ulatus on kas globaalne või lokaalne. Üldised muutujad deklareeritakse funktsioonist VÄLJAS ja selle väärtus on kogu programmis ligipääsetav / muudetav.

Muutujate deklareerimiseks (kohapeal tegemiseks) peaksite alati kasutama var-i , muidu installib see GLOBALY

Olge globaalsete muutujatega ettevaatlik, kuna need on riskantsed. Enamasti peaksite muutujate deklareerimiseks kasutama sulgureid. Näide:

(function(){ var myVar = true; })();

Rohkem informatsiooni:

  • Visuaalne juhend JavaScripti muutuja määratluste ja ulatuse kohta
  • Sissejuhatus JavaScripti muutuja määratlustesse ja tõstmine