Programování

Využijte uživatelem definované proměnné v JavaScriptu

Programovací jazyky jsou téměř zbytečné bez proměnných. Tyto speciální oblasti obsahující informace mohou ukládat čísla, textové řetězce, objekty a další datové typy. Po uložení lze tyto informace použít později ve vašem programu. S proměnnou lze jméno osoby uložit a použít v určitém okamžiku skriptu.

Proměnné jsou dočasnými držiteli informací. Mohou obsahovat:

  • Číselné hodnoty („čísla“) - čísla, která lze sčítat. Příklad: Výsledkem 2 + 2 je 4
  • Řetězce znaků - sbírka textu, například „JavaScript“ nebo „Jmenuji se Mudd“
  • Pravdivé / nepravdivé hodnoty - booleovská pravda a nepravda
  • Objekty - JavaScript nebo objekty definované uživatelem (proměnné JavaScriptu mohou obsahovat několik dalších druhů dat, ale jsou to zdaleka nejběžnější typy)

(Poznámka: Stejně jako u většiny moderních programovacích jazyků podporuje JavaScript kromě základních skalárních proměnných použitých k uchovávání výše uvedených datových typů i proměnné pole. Soustředíme se na proměnné s jednou hodnotou pro tento sloupec a věnujeme samostatný sloupec polím.)

Proměnné JavaScriptu „patří“ do dokumentu skriptu, který je vytvořil; při uvolnění dokumentu dojde ke ztrátě proměnných. Obsah proměnné se navíc vymaže, když jim přiřadíte novou hodnotu. Ačkoli proměnnou vytvořenou v jednom skriptu dokumentu jiný skript dokumentu obvykle nevidí, JavaScript poskytuje způsoby sdílení proměnných mezi skripty. To provedete odkazem na název dokumentu spolu s názvem proměnné.

Několik pokynů JavaScriptu vytváří a ukládá proměnné, ale základní způsob, jak toho dosáhnout ručně, je pomocí operátoru přiřazení equals (=). Základní syntaxe je:

VariableName = hodnota

Prvním argumentem je název proměnné. Názvy proměnných mohou být velmi dlouhé, ale znaky, které můžete použít, jsou omezeny. Další informace o platných názvech proměnných najdete v části Omezení názvů proměnných.

Druhým argumentem je obsah proměnné. Do proměnné můžete vložit nejrůznější věci, včetně čísla, řetězce, matematického výrazu (například 2 + 2) a různých dalších věcí, ke kterým se za chvíli dostaneme.

Uživatelé Pascalu mohou být v pokušení vytvořit přiřazení proměnné pomocí: =. Upozorňujeme, že tato syntaxe není v JavaScriptu podporována.

Následuje podrobnější shrnutí čtyř nejběžnějších obsahů, které můžete umístit do proměnných JavaScriptu, včetně příkladů.

Obsah umístěný v proměnných JavaScriptu

Čísla v proměnných

Číslo je jedna nebo více číslic uložených v počítači takovým způsobem, že s nimi JavaScript může provádět matematické výpočty. JavaScript podporuje jak celá čísla, tak hodnoty s plovoucí desetinnou čárkou. Chcete-li umístit číslo do proměnné, stačí zadat název proměnné, znaménko rovná se (operátor přiřazení proměnné) a hodnotu, kterou chcete použít. Například následujícím způsobem můžete umístit číslo 10 do proměnné s názvem MyVar:

MyVar = 10;

Řetězce v proměnných

Řetězec je jeden nebo více textových znaků uspořádaných v paměti v jednom souboru. Řetězce mohou obsahovat čísla (číslice), písmena, interpunkci nebo kombinaci těchto prvků. Matematické výpočty nelze provádět na řetězcích. Řetězce jsou přiřazeny proměnným JavaScriptu tak, že jsou uzavřeny v sadě jednoduchých nebo dvojitých uvozovek:

„Jsem struna“

nebo

‚Jsem struna '

Upozorňujeme, že přijatelné jsou dvojité nebo jednoduché uvozovky; na rozdíl od některých jazyků, jako je Perl, JavaScript nerozlišuje mezi dvěma formami uvozovek. Tento pracovní příklad ukazuje, jak umístit řetězec do proměnné:

MyVar = "Toto je JavaScript";

Booleovské hodnoty v proměnných

Existují dvě logické hodnoty: true a false. Některé programovací jazyky nemají samostatnou sadu logických hodnot a místo toho používají 0 pro false a 1 nebo -1 (nebo jakoukoli jinou nenulovou hodnotu) pro true. JavaScript může použít tato čísla k vyjádření pravdivých a nepravdivých údajů, kromě toho si vyhrazuje slova „pravdivý“ a „nepravdivý“, což znamená booleovská pravda a nepravda. Můžete považovat booleovské pravdivé a nepravdivé hodnoty za ekvivalentní zapnutí / vypnutí nebo ano / ne. Chcete-li proměnné přiřadit logickou hodnotu, uveďte pouze slovo true nebo false bez uvozovek. Zde je příklad:

MyVar = true;

Objekty v proměnných

Proměnné mohou obsahovat objekty, včetně objektů JavaScriptu. V zásadě existují dva druhy objektových proměnných:

  • Proměnné, které obsahují integrované objekty související s prohlížečem - okno, dokument, navigátor atd. - jsou ve skutečnosti odkazy na původní objekt. Jsou jako kopie, ale kopie se změní, pokud se změní originál. V některých případech má změna objektu v proměnné vliv na původní objekt JavaScriptu.

  • Proměnné, které obsahují uživatelem definované objekty, představují skutečný objekt. Proveďte změnu objektu v proměnné a vy změníte pouze tento objekt.

Chcete-li přiřadit objekt JavaScript k proměnné, uveďte název objektu, například v:

MyVar = navigátor;

Chcete-li přiřadit novou kopii uživatelem definovaného objektu k proměnné, použijte nový příkaz a zadejte název funkce objektu:

MyVar = new myObject ();

SUBHEAD Variabilní limity názvu

Pokud jde o názvy, kterým můžete dávat proměnné, nabízí JavaScript velkou volnost. Délka proměnných JavaScriptu může být téměř neomezená, i když z praktických důvodů budete pravděpodobně mít názvy proměnných kratší než 10 nebo 15 znaků. Kratší názvy proměnných pomáhají JavaScriptu spouštět program rychleji. Při pojmenovávání proměnných mějte na paměti následující:

  • Názvy proměnných by se měly skládat pouze z písmen - bez mezer. Můžete použít čísla, pokud jméno nezačíná číslicí. Například MyVar1 je přijatelný, ale 1MyVar není.

  • V názvech proměnných nepoužívejte interpunkční znaky. Výjimka: znak podtržítka (_). To znamená, že proměnná My_Var je přijatelná, ale My * Var není. Proměnné mohou začínat znakem podtržítka.

  • Názvy proměnných rozlišují velká a malá písmena. Proměnná MyVar je zřetelně odlišná proměnná od myVar, myvar a dalších variant.

Pochopení „uvolněných“ proměnných datových typů JavaScriptu

Na rozdíl od některých jiných programovacích jazyků není v JavaScriptu nutné explicitně definovat typ proměnné, kterou chcete vytvořit. Toto chování JavaScriptu se nazývá „volné zadávání dat“ a liší se od C a Java, které používají přísné zadávání dat.

V JavaScriptu není třeba rozlišovat typy proměnných připojením speciálních znaků na konec názvu proměnné, například MyVar $ pro řetězcovou proměnnou (nebo, $ MyVar pro skalární proměnnou, a la Perl). JavaScript interně dekóduje typ proměnné na základě jejího obsahu.

Použití příkazu var k přiřazení proměnné

JavaScript podporuje příkaz var, kterým lze explicitně definovat proměnnou. Syntaxe je pouze příkaz var, mezera a stejný výraz přiřazení proměnné, který je podrobně popsán výše. Například:

var MyVar = "Toto je proměnná";

Můžete také použít příkaz var s názvem proměnné k deklaraci proměnné, ale nedefinovat pro ni hodnotu:

var MyVar;

V tomto případě jste definovali MyVar v paměti, ale ještě jste jí nepřiřadili hodnotu. Tato technika se často používá při nastavování globálních proměnných - proměnných, které lze libovolně sdílet kdekoli ve vašem skriptu. Další informace o globálních proměnných najdete v části „Vysvětlení rozsahu proměnných“ níže.

Omezení délky řetězce

JavaScript ukládá limit 254 znaků pro každé přiřazení proměnné řetězce ve vašem programu. Pokud překročíte limit 254 znaků, odpoví JavaScript chybovou zprávou „Unterminated string literal“. (Poznámka: Toto je v zásadě limit JavaScriptu v Netscape 2.0x; je dobré jej dodržovat, protože ne všichni uživatelé přijali Netscape 3.0.)

Delší řetězce můžete vytvořit jejich „poskládáním“ dohromady - pokud má každý díl 254 znaků nebo méně. Po přiřazení řetězce ke každé proměnné je zkombinujete pomocí znaku +. Tomu se říká „zřetězení“. Následující příklad ukazuje, jak zřetězení funguje:

MyVar = "Toto je začátek" + toho, jak můžete "+" vytvářet řetězce ";

Každý jednotlivý segment řetězce - definovaný textem v uvozovkách - může mít až 254 znaků. Chcete-li vytvořit řetězec delší než 254 znaků, přidejte pouze další segmenty. Dalším přístupem je vytváření řetězců pomocí operátoru + = přiřazení, například takto:

MyVar = "Toto je začátek" MyVar + = "toho, jak můžete" MyVar + = vytvářet řetězce "

Řetězce můžete takto zřetězit, pokud na to má váš počítač paměť. I když JavaScript může obsahovat řetězce větší, než je to možné v mnoha jiných programovacích jazycích (jako je typický 64K jazyka Basic), může to vážně snížit výkon systému. Je zřejmé, že nevytvoříte mnoho obrovských řetězcových proměnných. Je hezké vědět, že v případě potřeby pojme proměnná JavaScriptu tolik textu.

Pochopení „rozsahu“ proměnných

„Rozsah proměnné“ nemá nic společného s optikou nebo ústní vodou, ale spíše s rozsahem, v jakém je proměnná viditelná pro ostatní části programu JavaScript. Pokud neposkytnete explicitní pokyny, abyste řekli JavaScriptu jinak, rozsah jeho proměnných se spravuje následujícím způsobem:

  • Proměnné definované mimo funkci jsou k dispozici jakékoli funkci ve skriptu, pokud jsou všechny proměnné definovány ve skriptu stejného dokumentu HTML. Ty se označují jako globální proměnné.

  • Proměnné definované uvnitř funkce jsou také globální, za předpokladu, že se při první deklaraci této proměnné nepoužije příkaz var. To znamená, MyVar = "ahoj."

  • Proměnné definované uvnitř funkce s příkazem var jsou "lokální" pouze pro tuto funkci. Ty se označují jako lokální proměnné.

  • Globální proměnné zůstávají v paměti i po ukončení provádění skriptu. Proměnná zůstává v paměti, dokud není dokument uvolněn.

S lokálními proměnnými se zachází, jako by neexistovaly mimo funkci, kde jsou definovány. Tímto způsobem můžete ve funkci použít stejný název proměnné a tato proměnná nebude rušit proměnnou se stejným názvem jinde ve skriptu.

Následuje příklad, který to ukazuje. Po kliknutí na tlačítko skript zobrazí tři výstražná pole. Následující podrobnosti, co se stane, když kliknete na tlačítko:

  • JavaScript volá firstFunction, který přiřadí hodnotu 1 místní proměnné s názvem MyVar. Zobrazí se obsah MyVar.

  • JavaScript volá secondFunction, který přiřazuje hodnotu 2 místní proměnné, nazývané také MyVar. Zobrazí se obsah MyVar.

  • JavaScript se vrátí na firstFunction, kde se opět zobrazí obsah MyVar. Výsledkem je 1, což je hodnota MyVar local to firstFunction.

Odkazování na proměnné v jiných načtených dokumentech

Při použití rámců je často nutné sdílet proměnné mezi dokumenty. Jeden nebo více rámců může vyžadovat proměnnou obsaženou v jiném rámci. Proměnné (i globální) nejsou ze své podstaty viditelné mimo dokument, který je vytvořil. Takže pokud chcete odkazovat na proměnnou v jiném dokumentu - a za předpokladu, že je dokument načten do prohlížeče - musíte explicitně odkazovat na tuto proměnnou přidáním názvu okna před název proměnné. Zde je syntaxe:

winname.varname

kde winname je název dokumentu a varnameje název proměnné. Více podrobností o názvech dokumentů.

Pomocí následující techniky můžete přiřadit a odkazovat na proměnné. Tím se například nastaví proměnná MyVar v okně mydoc na 1:

mydoc.MyVar = 1;

Níže uvedený kód přiřadí hodnotu místní proměnné MyVar v okně mydoc.

VarInThisDoc = mydoc.MyVar;

Odkud pocházejí názvy oken? Vše záleží na tom, jak jsou okna používána.

Chcete-li použít proměnnou v hlavním okně prohlížeče z okna, které jste vytvořili, nejprve zadejte „odkaz“ na nadřazený objekt okna pomocí této metody:

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

V tomto novém okně pak můžete pomocí syntaxe odkazovat na libovolnou proměnnou v hlavním okně:

tvůrce.MyVar;

Chcete-li použít proměnnou v okně, které jste vytvořili, odkazujte na ni pomocí názvu objektu, který jste zadali při vytváření okna. Například byste použili newwindow pro okno vytvořené pomocí následujícího:

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

Nyní odkazujte na tuto proměnnou pomocí syntaxe:

newwindow.MyVar;

Chcete-li použít proměnnou definovanou v sadě rámců - tj. Dokument obsahující

značka - označte ji jako nadřazenou. Zde je příklad:

parent.MyVar;

Chcete-li použít proměnnou v jiném dokumentu rámce, odkazujte na ni pomocí názvu rámce, který jste zadali v

Gordon McCombis, autor, konzultant a lektor. Během svých 20 let jako profesionální spisovatel napsal 50 knih a více než tisíc článků v časopise. V tisku je více než milion výtisků jeho knih. Gordon také píše týdenní sloupek syndikovaných novin o počítačích, který oslovuje několik milionů čtenářů po celém světě. Gordonovou nejnovější knihou je JavaScript Sourcebook, který je k dispozici u Wiley Computer Publishing.

Další informace o tomto tématu

  • Dokumentace Netscape pro JavaScript

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

  • JavaScript a soubory cookie

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

  • Příklad proměnných a rámců JavaScriptu

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

  • Rozšířený příklad použití proměnných JavaScriptu

    //www.hidaho.com/colorcenter/

Tento příběh „Využijte výhody uživatelsky definovaných proměnných v JavaScriptu“ původně publikoval JavaWorld.

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