Globálna funkcia Javascript. JavaScript. Premenné (globálne, lokálne, konštanty). Priradenie hodnôt k premenným

  • 30.11.2023

Premenné

Deklarovanie premenných

Pred použitím premennej v JavaScripte musí byť deklarovaná. Premenné sú deklarované pomocou kľúčového slova var nasledujúcim spôsobom:

Var i; var sum;

Jedným použitím kľúčového slova var môžete deklarovať viacero premenných:

Deklarovanie premenných je možné kombinovať s ich inicializáciou:

Var message = "ahoj"; var i = 0, j = 0, k = 0;

Ak v príkaze var nie je zadaná žiadna počiatočná hodnota, premenná je deklarovaná, ale jej počiatočná hodnota zostáva nedefinovaná, kým ju program nezmení.

Ak máte skúsenosti s používaním programovacích jazykov so statickými dátovými typmi, ako je C# alebo Java, môžete si všimnúť, že deklaráciám premenných v JavaScripte chýba deklarácia typu. Premenné v JavaScripte môžu ukladať hodnoty akéhokoľvek typu. Napríklad v JavaScripte môžete priradiť číslo k premennej a potom k rovnakej premennej priradiť reťazec:

Var i = 10; i = "ahoj";

Pomocou príkazu var môžete tú istú premennú deklarovať viackrát. Ak opakovaná deklarácia obsahuje inicializátor, potom funguje ako bežný príkaz na priradenie.

Ak sa pokúsite prečítať hodnotu nedeklarovanej premennej, JavaScript vygeneruje chybu. V prísnom režime poskytovanom štandardom ECMAScript 5 sa pri pokuse o priradenie hodnoty nedeklarovanej premennej objaví aj chyba. Ak však historicky, a keď sa nespustí v prísnom režime, priradíte hodnotu premennej, ktorá nie je deklarovaná príkazom var, JavaScript vytvorí túto premennú ako vlastnosť globálneho objektu a bude sa správať takmer rovnako ako správne deklarovaná premenná. To znamená, že globálne premenné nemusia byť deklarované. Toto sa však považuje za zlozvyk a môže byť zdrojom chýb, preto sa vždy snažte deklarovať svoje premenné pomocou var.

Variabilný rozsah

Rozsah premennej je časť programu, pre ktorú je premenná definovaná. Globálna premenná má globálny rozsah – je definovaná pre celý program JavaScript. Zároveň sú premenné deklarované vo vnútri funkcie definované iba v jej tele. Nazývajú sa miestne a majú miestny rozsah. Parametre funkcie sa tiež považujú za lokálne premenné, ktoré sú definované iba v tele danej funkcie.

V tele funkcie má lokálna premenná prednosť pred globálnou premennou s rovnakým názvom. Ak deklarujete lokálnu premennú alebo parameter funkcie s rovnakým názvom ako globálna premenná, globálna premenná bude v skutočnosti skrytá:

Var vysledok = "global"; function getResult() ( var vysledok = "local"; return vysledok; ); console.log(getResult()); // Zobraziť "local"

Pri deklarovaní premenných s globálnym rozsahom možno príkaz var vynechať, ale pri deklarovaní lokálnych premenných by ste mali vždy použiť príkaz var.

Premenné slúžia ako „kontajnery“ na ukladanie informácií.

Pamätáte si stredoškolskú algebru?

Pamätáte si školskú algebru? x=5, y=6, z=x+y

Pamätáte si, že písmeno (napr. x) by sa dalo použiť na uloženie hodnoty (napr. 5) a že by ste mohli použiť vyššie uvedené informácie na výpočet, že hodnota z je 11?

Tieto písmená sú tzv premenných a premenné možno použiť na uloženie hodnôt (x=5) alebo výrazov (z=x+y).

Premenné JavaScriptu

Rovnako ako v algebre sa premenné JavaScriptu používajú na ukladanie hodnôt alebo výrazov.

Premenná môže mať krátky názov, napríklad x, alebo popisnejší názov, napríklad carname.

Pravidlá pre názvy premenných JavaScript:

  • V názvoch premenných sa rozlišujú malé a veľké písmená (y a Y sú dve rôzne premenné)
  • Názvy premenných musia začínať písmenom alebo podčiarkovníkom

komentár: Keďže JavaScript rozlišuje veľké a malé písmená, v názvoch premenných sa rozlišujú aj malé a veľké písmená.

Príklad

Hodnota premennej sa môže počas spustenia skriptu meniť. Na premennú môžete odkazovať jej názvom a zobraziť alebo zmeniť jej hodnotu.

Deklarovanie (vytváranie) premenných JavaScriptu

Vytváranie premenných v JavaScripte sa častejšie označuje ako „deklarovanie“ premenných.

Premenné JavaScriptu deklarujete pomocou kľúčového slova var:

Po vykonaní vyššie uvedených návrhov premenná X bude obsahovať hodnotu 5 , A carname bude obsahovať hodnotu Mercedes.

komentár: Keď premennej priradíte textovú hodnotu, uzatvorte ju do úvodzoviek.

komentár: Ak premennú znova deklarujete, nestratí svoju hodnotu.

Miestne premenné JavaScriptu

Premenná deklarovaná vo funkcii JavaScript sa stáva MIESTNE a bude k dispozícii iba v rámci tejto funkcie. (premenná má lokálny rozsah).

Lokálne premenné s rovnakým názvom môžete deklarovať v rôznych funkciách, pretože lokálne premenné sú rozpoznané vo funkcii, v ktorej sú deklarované.

Lokálne premenné sa pri ukončení funkcie zničia.

Viac o funkciách sa dozviete v nasledujúcich lekciách JavaScriptu.

Globálne premenné JavaScriptu

Premenné deklarované mimo funkcie sa stanú GLOBAL a všetky skripty a funkcie na stránke k nim majú prístup.

Globálne premenné sa po zatvorení stránky zničia.

Ak deklarujete premennú bez použitia "var", premenná sa vždy stane GLOBAL.

Priradenie hodnôt k nedeklarovaným premenným JavaScriptu

Ak priradíte hodnoty premenným, ktoré ešte neboli deklarované, premenné sa automaticky deklarujú ako globálne premenné.

Tieto ponuky:

Viac o operátoroch sa dozviete v ďalšej lekcii JavaScriptu.

Ahoj! Dnes si povieme niečo o rozsahu premenných (prečítajte si, čo je to premenná). Faktom je, že keď vytvoríte premennú vo funkcii a jej názov sa zhoduje s názvom premennej mimo funkcie, potom môžu nastať rôzne zaujímavé situácie súvisiace s globálnym a lokálnym rozsahom premennej.

To je presne to, čím sa budeme zaoberať v tejto lekcii.

Globálna premenná

Globálne premenné zahŕňajú všetky premenné, ktoré vytvoríte mimo funkcie. A určite musíte vytvoriť premennú pomocou kľúčového slova var; ak to neurobíte, premenná bude viditeľná všade v programe a navyše, ak je povolený striktný režim, spôsobí chybu. Ak chcete povoliť prísny režim, stačí na začiatok skriptu napísať riadok „použiť prísny“. To povie tlmočníkovi JavaScriptu, aby prísne dodržiaval štandard JavaScript. Tu je príklad použitia globálnej premennej

Var a = 6; //funkcia globálnej premennej double() ( return alert(a*a); //použitie globálnej premennej ) double();

V príklade je deklarovaná globálna premenná a, ktorej je priradená hodnota 6. Vo funkcii môžeme k tejto premennej pristupovať a dokonca meniť jej hodnotu a táto hodnota sa bude meniť všade.

Pozrime sa na príklad, kde sa hodnota globálnej premennej zmení vo funkcii a potom pristúpime ku globálnej premennej mimo funkcie a uvidíme hodnotu, ktorá jej bola nastavená v samotnej funkcii.

Var a = 6; function double() ( a = 5; //zmena hodnoty globálnej premennej vo funkcii return alert(a*a); ) double(a); //zavolajte funkciu document.write(a); //hodnota globálnej premennej

Ako môžete vidieť z príkladu, ak zmeníte hodnotu globálnej premennej vo funkcii, zostane s ňou všade, vo funkcii aj mimo nej.

Lokálna premenná.

Keď deklarujete premennú vo funkcii, stane sa lokálnou a dá sa k nej pristupovať iba z funkcie. Stojí za zmienku, že príkazy if/else , for, while, do...while neovplyvňujú rozsah premenných.

Ukazuje sa teda, že v rámci funkcie môžete pristupovať ku globálnej premennej, ale globálne mimo funkcie nemôžete pristupovať k lokálnej premennej vytvorenej v tele funkcie. Pozrime sa na príklad.

Funkcia double() ( var a =6; return alert(a*a); ) double(); dokument.zapis(a); //pokúšam sa o prístup k lokálnej premennej

V príklade nie je premenná deklarovaná globálne, ale deklarovaná vo funkcii, teda lokálne. Potom zavoláme funkciu a pokúsime sa získať prístup k lokálnej premennej, ale vo výsledku sa nič nedeje a v konzole vidíme chybu, že premenná nie je definovaná.

A posledná možnosť je, keď sa vytvorí globálna premenná aj lokálna s rovnakým názvom, čo sa stane potom. Pozrime sa na príklad.

Var a = 7; function double() ( var a =6; return alert(a*a); ) document.write(a);

Ako vidíte, tu sa vo funkcii vytvorí iná premenná, napriek tomu, že jej názov sa zhoduje s globálnou a je to lokálna premenná, ktorá bude vo funkcii dostupná, globálnu premennú nebude môcť prepísať. , čo ukazuje tento príklad.

Aký záver možno z toho všetkého vyvodiť? To znamená pokúsiť sa použiť premenné s rôznymi názvami vo vnútri aj mimo funkcie. Musíte však vedieť o lokálnom a globálnom rozsahu.

Výsledky.

Premenná vytvorená mimo funkcie je globálna.

Z funkcie môžete pristupovať ku globálnej premennej a meniť jej hodnotu.