Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Odpověď na názor

Odpovídáte na názor k článku Javascript a oblast působnosti proměnných - díl první.

Daniel Steigerwald
Daniel Steigerwald (neregistrovaný) ---.67.broadband2.iol.cz
7. 8. 2009 20:45

JavaScript díl 1 - proměnné

celé vlákno

.. abych jen nekybicoval, jak bych to napsal já.

Proměnou deklarujeme pomocí klíčového slova „var“, např.

var bla = 'foo'.

To var tam dávejte vždycky, poběží to sice bez toho, ale koledujete si zbytečně o problémy, protože proměnná tak bude globální a jelikoz Internet Explorer propaguje všechny ID elementů do globálního scope, může dojít ke kolizi názvů.

Funkci deklarujete bud tak, ze ji pojmenujete:

function foo() {}

nebo priradite anonymní funkci deklarované proměnné:

var foo = function() {}

Kombinace obou přístupů je možná, ale zbytečná.

Chcete-li 100% crossbrowser přístup, tak na pojmenované funkce zapomeňte, prohlížeče je interpretují rozdílně. Třeba safari nadeklaruje i tuto funkci:

if (false) function foo(){};

takže vždy psát:

var foo = function() {};

Jakmile proměnou deklarujete, můžete ji používat a odkazovat se na ní. Jaká je její viditelnost? Proměnná je viditelná v celém scope(rozsahu) funkce, ve které je definovaná. Pokud není definovaná ve funkci, je viditelná všude, tedy globální.

Co to znamená scope? Všechno uvnitř nějaké funkce:

var foo = function() { // tady je scope foo var bla = function() { // tady je scope bla } }

Scope funkce, jak je vidět, tedy může být zanořený. Zanořovat lze do alelůja, vydáme-li se však opačným směrem, skončíme u objektu window (pakliže se bavíme o javascriptu v prohlížečích).

Další díl: co je to „context“ a jak funguje „this“.

:)

   
Chcete přispět jako registrovaný uživatel? Přihlaste se ke svému účtu.
Ochrana proti spamovacím robotům. Odpovězte prosím na následující otázku: Jaký je letos rok?
 

Pravidla pro diskutující: Přidáním čtenářského příspěvku do diskusí či fóra souhlasíte s pravidly.

Informace o soukromí: U všech přidaných komentářů provozovatel ukládá IP adresu a hostname odesílatele. U neregistrovaných uživatelů se na webu zobrazuje část hostname, případně IP adresy, neumožňující identifikovat konkrétní počítač.

Povolené značky XHTML: a, br, code, em, li, ol, p, pre, strong, sub, sup, ul