Programovanie

Využite výhody používateľom definovaných premenných v JavaScripte

Programovacie jazyky sú takmer zbytočné bez premenných. Tieto špeciálne oblasti na uchovávanie informácií môžu ukladať čísla, textové reťazce, objekty a ďalšie dátové typy. Po uložení môžu byť tieto informácie použité neskôr vo vašom programe. Vďaka premennej by sa meno osoby dalo niekedy uložiť a použiť v skripte.

Premenné sú dočasnými držiteľmi informácií. Môžu obsahovať:

  • Číselné hodnoty („čísla“) - čísla, ktoré je možné sčítať. Príklad: výsledkom výsledku 2 + 2 je výsledok 4
  • Reťazce znakov - zbierka textu, napríklad „JavaScript“ alebo „Moje meno je Mudd“
  • Pravdivé / nepravdivé hodnoty - booleovská pravda a nepravda
  • Objekty - JavaScript alebo objekty definované používateľom (premenné jazyka JavaScript môžu obsahovať niekoľko ďalších druhov údajov, ale sú to zďaleka najbežnejšie typy)

(Poznámka: Rovnako ako v prípade väčšiny moderných programovacích jazykov, aj JavaScript podporuje okrem základných skalárnych premenných, ktoré sa používajú na uchovávanie vyššie uvedených dátových typov, aj premenné poľa. Sústredíme sa na premenné jednej hodnoty pre tento stĺpec a poliam venujeme samostatný stĺpec.)

Premenné jazyka JavaScript „patria“ k dokumentu skriptu, ktorý ich vytvoril; premenné sa stratia pri vyložení dokumentu. Obsah premennej sa navyše vymaže, keď im priradíte novú hodnotu. Aj keď premennú vytvorenú v jednom skripte dokumentu iný skript dokumentu zvyčajne nevidí, JavaScript poskytuje spôsoby zdieľania premenných medzi skriptmi. Urobíte to odkazom na názov dokumentu spolu s názvom premennej.

Niekoľko pokynov v jazyku JavaScript vytvára a ukladá premenné, ale základným spôsobom, ako to dosiahnuť ručne, je operátor priradenia equals (=). Základná syntax je:

Názov premennej = hodnota

Prvým argumentom je názov premennej. Názvy premenných môžu byť veľmi dlhé, ale môžete obmedziť použité znaky. Ďalšie informácie o platných názvoch premenných nájdete v časti Obmedzenia názvu premenných.

Druhým argumentom je obsah premennej. Do premennej môžete vložiť najrôznejšie veci vrátane čísla, reťazca, matematického výrazu (napríklad 2 + 2) a rôznych ďalších vecí, ku ktorým sa trochu dostaneme.

Používatelia Pascalu môžu byť v pokušení vytvoriť priradenie premennej pomocou:. Uvedomte si, že táto syntax nie je podporovaná v JavaScripte.

Nasleduje konkrétnejší prehľad štyroch najbežnejších obsahov, ktoré môžete umiestniť do premenných JavaScriptu, vrátane príkladov.

Obsah vložený do premenných kódu JavaScript

Čísla v premenných

Číslo je jedna alebo viac číslic uložených v počítači takým spôsobom, že s nimi JavaScript môže vykonávať matematické výpočty. JavaScript podporuje celé čísla aj hodnoty s pohyblivou rádovou čiarkou. Ak chcete vložiť číslo do premennej, stačí uviesť názov premennej, znamienko rovná sa (operátor priradenia premennej) a hodnotu, ktorú chcete použiť. Napríklad takto umiestnite číslo 10 do premennej s názvom MyVar:

MyVar = 10;

Reťazce v premenných

Reťazec je jeden alebo viac textových znakov usporiadaných v pamäti v jednom súbore. Reťazce môžu obsahovať čísla (číslice), písmená, interpunkčné znamienka alebo kombináciu týchto prvkov. Matematické výpočty nie je možné vykonať na reťazcoch. Reťazce sú priradené premenným JavaScriptu tak, že sú uzavreté v množine jednoduchých alebo dvojitých úvodzoviek:

„Ja som struna“

alebo

„Som struna“

Upozorňujeme, že sú prijateľné dvojité alebo jednoduché úvodzovky; na rozdiel od niektorých jazykov, napríklad Perl, JavaScript nerozlišuje medzi týmito dvoma formami úvodzoviek. Tento pracovný príklad ukazuje, ako umiestniť reťazec do premennej:

MyVar = "Toto je JavaScript";

Boolovské hodnoty v premenných

Existujú dve boolovské hodnoty: true a false. Niektoré programovacie jazyky nemajú samostatnú množinu booleovských hodnôt a namiesto nich používajú hodnotu 0 pre nepravdivé a 1 alebo -1 (alebo inú nenulovú hodnotu) pre pravdivé. JavaScript môže tieto čísla používať na vyjadrenie pravdivých a nepravdivých údajov, navyše si vyhradzuje slová „true“ a „false“, ktoré znamenajú boolovskú hodnotu true a false. Môžete si myslieť, že booleovské pravdivé a nepravdivé hodnoty sú ekvivalentné so zapnutým / vypnutým alebo áno / nie. Ak chcete premennej priradiť boolovskú hodnotu, zadajte iba slovo true alebo false bez úvodzoviek. Tu je príklad:

MyVar = true;

Objekty v premenných

Premenné môžu obsahovať objekty vrátane objektov JavaScriptu. V zásade existujú dva druhy objektových premenných:

  • Premenné, ktoré obsahujú vstavané objekty súvisiace s prehliadačom - okno, dokument, navigátor atď. - sú vlastne odkazmi na pôvodný objekt. Sú ako kópie, ale kópie sa zmenia, ak sa zmení pôvodný. V niektorých prípadoch zmena objektu v premennej ovplyvní pôvodný objekt JavaScriptu.

  • Premenné, ktoré obsahujú užívateľom definované objekty, predstavujú skutočný objekt. Vykonajte zmenu v objekte v premennej a vy zmeníte iba tento objekt.

Ak chcete priradiť objekt JavaScript k premennej, zadajte názov objektu, napríklad v:

MyVar = navigátor;

Ak chcete priradiť novú kópiu používateľom definovaného objektu k premennej, použite nový príkaz a zadajte názov funkcie objektu:

MyVar = nový myObject ();

SUBHEAD Variabilné limity názvu

Pokiaľ ide o názvy, ktoré môžete dať premenným, ponúka JavaScript veľkú voľnosť. Dĺžka premenných kódu JavaScript môže byť takmer neobmedzená, aj keď z praktických dôvodov budete pravdepodobne mať názvy svojich premenných kratšie ako 10 alebo 15 znakov. Kratšie názvy premenných pomáhajú programu JavaScript rýchlejšie vykonávať program. Pri pomenovávaní svojich premenných nezabudnite na toto:

  • Názvy premenných by mali pozostávať iba z písmen - bez medzier. Môžete použiť čísla, pokiaľ meno nezačína číslicou. Napríklad MyVar1 je prijateľný, ale 1MyVar nie.

  • V názvoch premenných nepoužívajte interpunkčné znaky. Výnimka: znak podčiarknutia (_). To znamená, že premenná My_Var je prijateľná, ale My * Var nie. Premenné môžu začínať znakom podčiarknutia.

  • V názvoch premenných sa rozlišujú veľké a malé písmená. Premenná MyVar je zreteľne odlišná premenná od myVar, myvar a ďalších variácií.

Pochopenie „voľných“ variabilných dátových typov JavaScriptu

Na rozdiel od niektorých iných programovacích jazykov nie je v jazyku JavaScript potrebné výslovne definovať typ premennej, ktorú chcete vytvoriť. Toto správanie JavaScriptu sa nazýva „voľné zadávanie údajov“ a líši sa od C a Java, ktoré obidve používajú prísne zadávanie údajov.

V JavaScripte nie je potrebné rozlišovať typy premenných pridaním špeciálnych znakov na koniec názvu premennej, napríklad MyVar $ pre reťazcovú premennú (alebo, $ MyVar pre skalárnu premennú, a la Perl). JavaScript interne dekóduje typ premennej na základe jej obsahu.

Použitie príkazu var na priradenie premennej

JavaScript podporuje príkaz var, ktorým je možné explicitne definovať premennú. Syntax je iba príkaz var, medzera a rovnaký výraz priradenia premennej, ktorý je podrobne uvedený vyššie. Napríklad:

var MyVar = "Toto je premenná";

Môžete tiež použiť príkaz var s názvom premennej na jej vyhlásenie, ale nedefinovať pre ňu hodnotu:

var MyVar;

V tomto prípade ste definovali MyVar v pamäti, ale ešte ste mu nepriradili hodnotu. Táto technika sa často používa pri nastavovaní globálnych premenných - premenných, ktoré je možné ľubovoľne zdieľať kdekoľvek vo vašom skripte. Viac informácií o globálnych premenných nájdete v časti „Vysvetlenie rozsahu premenných“ nižšie.

Obmedzenia dĺžky reťazca

JavaScript ukladá limit 254 znakov pre každé priradenie premennej reťazca vo vašom programe. Ak prekročíte limit 254 znakov, JavaScript odpovie chybovým hlásením „Neukončený reťazcový literál“. (Poznámka: Toto je v zásade limit JavaScriptu v Netscape 2.0x; je dobré ho dodržiavať, pretože nie všetci používatelia prijali Netscape 3.0.)

Dlhšie reťazce môžete vytvoriť ich „zostavením“ dohromady - pokiaľ má každý diel 254 znakov alebo menej. Po priradení reťazca ku každej premennej ich skombinujete pomocou znaku +. Toto sa nazýva „zreťazenie“. Nasledujúci príklad ukazuje, ako funguje zreťazenie:

MyVar = "Toto je začiatok" + "toho, ako môžete" + "vytvárať reťazce";

Každý jednotlivý segment reťazca - definovaný textom v úvodzovkách - môže mať až 254 znakov. Ak chcete vytvoriť reťazec dlhší ako 254 znakov, stačí pridať viac segmentov. Ďalším prístupom je vytváranie reťazcov pomocou operátora priradenia + =, napríklad takto:

MyVar = "Toto je začiatok" MyVar + = "toho, ako môžete" MyVar + = vytvárať reťazce "

Týmto spôsobom môžete pokračovať v spájaní reťazcov, pokiaľ má váš počítač na to pamäť. Zatiaľ čo JavaScript môže obsahovať väčšie reťazce, ako je to možné v mnohých iných programovacích jazykoch (napríklad typický 64K jazyka Basic), môže to vážne znížiť výkon systému. Je zrejmé, že nevytvoríte veľa obrovských premenných reťazcov. Je len pekné vedieť, že v prípade potreby sa do premennej JavaScriptu zmestí toľko textu.

Pochopenie „rozsahu“ premenných

„Rozsah premennej“ nemá nič spoločné s optikou alebo ústnou vodou, ale skôr s mierou viditeľnosti premennej pre ostatné časti programu JavaScript. Pokiaľ neposkytnete výslovné pokyny, aby ste povedali JavaScriptu inak, rozsah jeho premenných sa spravuje takto:

  • Premenné definované mimo funkcie sú dostupné pre ktorúkoľvek funkciu v skripte, pokiaľ sú všetky premenné definované v skripte toho istého dokumentu HTML. Označujú sa ako globálne premenné.

  • Premenné definované vo vnútri funkcie sú tiež globálne, za predpokladu, že sa príkaz var nepoužije pri prvom deklarácii tejto premennej. To znamená, MyVar = "ahoj."

  • Premenné definované vo funkcii pomocou príkazu var sú „lokálne“ iba pre túto funkciu. Tieto sa označujú ako lokálne premenné.

  • Globálne premenné zostanú v pamäti aj po ukončení vykonávania skriptu. Premenná zostáva v pamäti, kým sa dokument neuvoľní.

S miestnymi premennými sa zaobchádza, akoby neexistovali mimo funkcie, kde sú definované. Týmto spôsobom môžete vo funkcii použiť rovnaký názov premennej a táto premenná nebude prekážať premennej s rovnakým názvom inde v skripte.

Nasleduje príklad, ktorý to demonštruje. Po kliknutí na toto tlačidlo skript zobrazí tri výstražné polia. Nasledujúce podrobnosti, čo sa stane po kliknutí na tlačidlo:

  • JavaScript volá firstFunction, ktorá priradí hodnotu 1 miestnej premennej s názvom MyVar. Zobrazí sa obsah MyVar.

  • JavaScript volá secondFunction, ktorý priradí hodnotu 2 miestnej premennej, ktorá sa nazýva aj MyVar. Zobrazí sa obsah MyVar.

  • JavaScript sa vráti na firstFunction, kde sa opäť zobrazí obsah MyVar. Výsledkom je 1, čo je hodnota MyVar local to firstFunction.

Odkazovanie na premenné v iných načítaných dokumentoch

Pri použití rámcov je často potrebné zdieľať premenné medzi dokumentmi. Jeden alebo viac rámcov môže vyžadovať premennú obsiahnutú v inom rámci. Premenné (ani globálne) nie sú zo svojej podstaty viditeľné mimo dokument, ktorý ich vytvoril. Takže ak chcete odkazovať na premennú v inom dokumente - a za predpokladu, že sa tento dokument načíta do prehliadača - musíte explicitne na túto premennú odkazovať pridaním názvu okna pred názov premennej. Tu je syntax:

winname.varname

kde priezvisko je názov dokumentu a varnameje názov premennej. Viac o názvoch dokumentov.

Priraďovať a odkazovať na premenné môžete pomocou nasledujúcej techniky. Týmto sa napríklad nastaví premenná MyVar v okne mydoc na 1:

mydoc.MyVar = 1;

Nasledujúci kód priraďuje hodnotu miestnej premennej MyVar v okne mydoc.

VarInThisDoc = mydoc.MyVar;

Odkiaľ pochádzajú názvy okien? Všetko závisí od spôsobu používania okien.

Ak chcete použiť premennú v hlavnom okne prehliadača z okna, ktoré ste vytvorili, najskôr poskytnite „odkaz“ na nadradený objekt okna pomocou tejto metódy:

newwindow = window.open ("", "NewWindow"); // opakujte to pre Mac / X Netscape 2.0 newwindow.creator = self;

Potom v tomto novom okne môžete pomocou syntaxe odkazovať na ktorúkoľvek premennú v hlavnom okne:

tvorca.MyVar;

Ak chcete použiť premennú v okne, ktoré ste vytvorili, odkazujte na ňu pomocou názvu objektu, ktorý ste zadali pri vytváraní okna. Napríklad newwindow by ste použili pre okno vytvorené pomocou nasledujúceho:

newwindow = window.open ("", "NewWindow");

Teraz na túto premennú odkazujte pomocou syntaxe:

newwindow.MyVar;

Ak chcete použiť premennú definovanú v sade rámcov - to znamená dokument obsahujúci

značka - označte ju ako rodičovskú. Tu je príklad:

rodič.MyVar;

Ak chcete použiť premennú v inom dokumente rámca, odkazujte na ňu pomocou názvu rámca, ktorý ste zadali v

Gordon McCombis je autor, konzultant a lektor. Počas svojich 20 rokov ako profesionálny spisovateľ napísal 50 kníh a viac ako tisíc článkov v časopise. V tlači je viac ako milión výtlačkov jeho kníh. Gordon tiež píše týždenný stĺpček syndikovaných novín o počítačoch, ktorý oslovuje niekoľko miliónov čitateľov po celom svete. Gordonovou najnovšou knihou je JavaScriptová kniha, ktorá je k dispozícii vo vydavateľstve Wiley Computer Publishing.

Získajte viac informácií o tejto téme

  • Dokumentácia Netscape pre JavaScript

    //home.netscape.com/eng/mozilla/3.0/handbook/javascript/index.html

  • JavaScript a súbory cookie

    //www.hidaho.com/cookies/cookie.txt

  • Príklad premenných a rámcov JavaScriptu

    //home.netscape.com/comprod/products/navigator/version_2.0/script/script_info/tutorial/main.htm

  • Rozšírený príklad použitia premenných JavaScriptu

    //www.hidaho.com/colorcenter/

Tento príbeh, „Využite výhody premenných definovaných používateľom v JavaScripte“, bol pôvodne publikovaný spoločnosťou JavaWorld.

$config[zx-auto] not found$config[zx-overlay] not found