Pojasnjene globalne spremenljivke v JavaScript

Globalne spremenljivke so prijavljene zunaj funkcije za dostopnost v celotnem programu, medtem ko so lokalne spremenljivke shranjene v funkciji, ki se varuporablja samo v obsegu te funkcije. Če spremenljivko deklarirate brez uporabe var, tudi če je znotraj funkcije, bo še vedno videti kot globalna:

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); }

Globalna spremenljivka je tudi predmet trenutnega obsega, na primer okno brskalnika:

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

Najboljša praksa je, da zmanjšate globalne spremenljivke. Ker je spremenljivka dostopna kjer koli v programu, lahko povzročijo nenavadno vedenje.

Reference:

  • var -Javascript | MDN
  • Ne poznate JavaScript: Področja uporabe in zapiranja

Kakšna je razlika med globalnim var in window.variable v javascriptu?

Obseg spremenljivk JavaScript je globalno ali lokalno. Globalne spremenljivke so razglašene ZUNAJ funkcije in njena vrednost je dostopna / spremenljiva v celotnem programu.

VEDNO morate uporabiti var, da prijavite svoje spremenljivke (da jih naredite lokalno), sicer se bo namestila GLOBALNO

Pazite na globalne spremenljivke, ker so tvegane. Večino časa bi morali uporabiti zapore, da bi razglasili svoje spremenljivke. Primer:

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

Več informacij:

  • Vizualni vodnik po definicijah in obsegu spremenljivk JavaScript
  • Uvod v definicije spremenljivk JavaScript in dvigovanje