@carlos 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.
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) Non ho provato ma direi che in questo caso dovrebbe stampare pippo = 0. Function Scope. Il giorno 27 febbraio 2015 13:26, Nadir Sampaoli <nadirsampa...@gmail.com> ha scritto: > > Il 27/feb/2015 11:18 "Carlos Catucci" <carlos.catu...@gmail.com> ha > scritto: > > Arrow function mi fa tanto PHP, e non ho capito come funziona. Il tipo > fa prima un esempio dove scrive > > > > employees.forEach(function(emp) { > > totalAge += emp.age; > > }); > > > > E va bene, ma qui emp la definisce lui come parametro passato alla > funzione, poi scrive > > > > employees.forEach(emp => { > > totalAge += emp.age; > > }); > > > > che sarebbe la lambda, ma scritto cosi' e' poco chiaro. > > Quell'esempio secondo me spiega poco. La cosiddetta fat arrow (scritta > `=>`) è presa da coffeescript che ha due notazioni per le funzioni anonime. > Una è `->` (o "thin arrow") e dovrebbe essere equivalente ad una normale > `function () {}`. > > La fat arrow invece fa il bind automatico del `this` alla funzione, cioè > dovrebbe equivalere a `(function(){}).bind(this)`. > > Se non si è pratici di come funziona il "this" in JS la cosa può risultare > poco chiara. > > -- > Nadir > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python