Michele Nasti

Thoughts on what I learn

chiamare una funzione Javascript subito dopo averla definita

Consideriamo il seguente esempio:

(function() {
var clickCount = 0;
$('button#mybutton').click(function() {
clickCount ++;
alert('Clicked ' + clickCount + ' times.');
});
}());

Questa è la semplice definizione di una funzione (anonima) che, quando viene cliccato su un bottone, aumenta un contatore. Ma in grassetto ho evidenziato due parentesi tonde: questa è una sintassi comoda e rapida per indicare che la funzione, una volta definita, deve essere anche subito eseguita. Ricapitoliamo:

function() {
...
} () ;

Questo pattern viene utilizzato quando non vogliamo inquinare il global scope con variabili che potenzialmente possono entrare in conflitto con altre, e quando vogliamo creare nuovi scope. Parleremo degli scope In altri articoli.