2015-02-27 13:53 GMT+01:00 Luca Bacchi <bacch...@gmail.com>: > Nel tuo esempio intanto c'è una cosa poco chiara parlando in termini di > Javascript: le variabili si dichiarano all'interno delle funzioni con "var" > e lo si fa una volta sola. Quindi nel tuo codice già è presente un "var > pippo" 2 volte, e questo potrebbe portare a dei fraintendimenti. La > dichiarazione "var pippo" ovunque tu la metta (tu l'hai messa sia fuori che > dentro) abbiamo detto che si comporta "come se" tu l'avessi messa una sola > volta e all'inizio della funzione. Quindi si comporta esattamente come > dovrebbe. >
Infatti pero' se dichiaro due volte la variabile, dentro e fuori di un blocco (ovvio in linguaggi che permettono la dichiarazione) mi attendo che siano due diverse variabili. > > Ti faccio un esempio un po' diverso: > > (function () { > var pippo = 0; > > _.each([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], function (element) { > var pippo = i; > }); > > console.log(pippo); > })(); > > (_.each è roba di undercorejs ma non te ne curar) > Conosco e apprezzo > Non ho provato ma direi che in questo caso dovrebbe stampare pippo = 0. > Function Scope. > Certo, la hai dichiarata dentro una funzione interna. Io parlavo dello scope a livello di blocco non di funzione. Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python