Michele Nasti

Thoughts on what I learn

chiamare una funzione Javascript subito dopo averla definita

Consideriamo il seguente esempio:

<pre class="">(function() { var clickCount = 0; $('button#mybutton').click(function() { clickCount ++; alert('Clicked ' + clickCount + ' times.'); }); }());</pre>

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:

<pre>function() { ... } () ;</pre>

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.