Latest web development tutorials
×

JavaScript corso

JavaScript corso JavaScript breve introduzione JavaScript uso JavaScript esportazione JavaScript grammatica JavaScript dichiarazioni JavaScript nota JavaScript variabile JavaScript Tipi di dati JavaScript Oggetti JavaScript funzione JavaScript portata JavaScript evento JavaScript stringa JavaScript operatori JavaScript confrontare JavaScript If...Else JavaScript switch JavaScript for JavaScript while JavaScript Break & Continue JavaScript typeof JavaScript tipo di conversione JavaScript Espressioni regolari JavaScript errore JavaScript Debugging JavaScript alzata variabile JavaScript Modalità Strict JavaScript Uso improprio JavaScript Forms Authentication JavaScript Parole chiave riservate JavaScript JSON JavaScript void JavaScript Codice Specifica

JS funzione

JavaScript definizione di funzione JavaScript Argomenti funzione JavaScript richiamo della funzione JavaScript chiusure

JS HTML DOM

DOM breve introduzione DOM HTML DOM CSS DOM evento DOM EventListener DOM elemento

JS Tutorial avanzato

JavaScript Oggetti JavaScript Number JavaScript String JavaScript Date JavaScript Array JavaScript Boolean JavaScript Math JavaScript RegExp Oggetti

JS Browser BOM

JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript pop JavaScript evento programmato JavaScript Cookies

JS magazzino

JavaScript magazzino JavaScript prova jQuery JavaScript prova Prototype

JS Esempi

JavaScript Esempi JavaScript istanza di oggetto JavaScript istanza di oggetto Browser JavaScript HTML DOM Esempi JavaScript sommario

JS Manuale di riferimento

JavaScript Oggetti HTML DOM Oggetti

Chiusure JavaScript

variabili JavaScript possono essere variabili locali o globali.

Le variabili private possono essere utilizzate chiusura.


Variabili globali

La funzione può accedere alle variabili definite dalle funzioni interne, come ?:

Esempi

la funzione myFunction () {
var a = 4;
restituire un * a;
}

Prova »

Funzione accessibile anche al di fuori delle funzioni definite variabili quali:

Esempi

var a = 4;
la funzione myFunction () {
restituire un * a;
}

Prova »

Un esempio della schiena, a è una variabile globale.

Nella pagina web appartengono all'oggetto globale window variabile.

Le variabili globali possono essere utilizzati in tutti gli script nella pagina.

In primo luogo, a è una variabile locale.

Le variabili locali possono essere utilizzati solo per definire il suo funzionamento interno. Per altra funzione o codice di script non è disponibile.

Anche le variabili globali e locali con lo stesso nome, ma sono anche due variabili diverse. Modificare uno, non influenzerà il valore dell'altro.

nota Se non si dichiara una variabile utilizzando la parola chiave var, allora è una variabile globale, anche se esso è definito all'interno della funzione.


ciclo di vita Variabile

Ambito di variabili globali sono globali, vale a dire, tutto il programma JavaScript, le variabili globali sono ovunque.

Nella variabile dichiarata all'interno di una funzione, funzionano solo all'interno della funzione. Queste variabili sono locali, di portata locale, parametro della funzione è localizzata, solo all'interno del lavoro di funzione.


Contatore Dilemma

Se si vuole immaginare alcune statistiche numeriche, e gli sportelli sono disponibili in tutte le funzioni.

È possibile utilizzare le variabili globali, funzione imposta il contatore viene incrementato:

Esempi

contatore var = 0;

la funzione add () {
contatore + = 1;
}

add ();
add ();
add ();

// Contatore è ora 3

Prova »

La modifica del valore del contatore si è verificato per l'attuazione della funzione add ().

Ma la domanda è, qualsiasi script della pagina può cambiare il contatore, anche se non c'è nessuna chiamata per aggiungere la funzione ().

Se io dichiaro una funzione all'interno del contatore, se non chiamare la funzione non modificare il valore del contatore:

Esempi

la funzione add () {
contatore var = 0;
contatore + = 1;
}

add ();
add ();
add ();

// Intenzione è quella di uscita 3, ma non ha, l'uscita è 1!

Prova »

Il codice di cui sopra non uscirà correttamente, ogni volta che io chiamo di aggiungere la funzione (), il contatore viene impostato a 1.

funzione inline JavaScript in grado di risolvere questo problema.


JavaScript funzioni nidificate

Tutte le funzioni possono accedere alle variabili globali.

Infatti, in JavaScript, tutte le funzioni possono accedervi sul pavimento di portata.

JavaScript supporta le funzioni annidate. La funzione annidata può accedere alle variabili sullo strato funzione.

In questo esempio, la funzione nidificata più () può accedere alla variabile contatore funzione principale:

Esempi

la funzione add () {
contatore var = 0;
funzione di più () {contatore + = 1;}
PLUS ();
tornare contatore;
}

Prova »

Se siamo in grado di accedere alla funzione più esterno (), in modo da poter affrontare la difficile situazione del contatore.

Dobbiamo anche assicurare che contatore = 0 solo una volta.

Abbiamo bisogno di chiusura.


Chiusure JavaScript

Ricordate le chiamate di funzione per sé fare? Questa funzione farà?

Esempi

var add = (function () {
contatore var = 0;
funzione di ritorno) {contatore ritorno + = 1;} (
}) ();

add ();
add ();
add ();

3 // contatore

Prova »

Esempi di analitica

Aggiungere la variabile parola indica il valore di ritorno della funzione chiama se stessa.

funzione di auto-chiamata viene eseguita solo una volta. Impostare il contatore a zero. E tornare alla funzione di espressione.

aggiungere variabile in funzione dell'uso. La gran parte è che può essere letta sulla portata del contatore strato di funzione.

Questo si chiama chiusure JavaScript. Ha una variabile privata in modo che la funzione diventa possibile.

Contatore che l'ambito di protezione di un funzione anonima può essere modificato solo con il metodo add.

nota Le chiusure sono accessibili su una funzione variabile portata all'interno di una funzione, anche se la funzione strato è stato chiuso.