Quote Originariamente inviata da lanvoel Visualizza il messaggio
Mentre nel programma precedente la funzione tempo() è definita all'interno di avvia(), non viene riconosciuta come funzione e non viene eseguita.
Perché questa differenza?
Penso che si può definire una funzione all'interno di un'altra. O no? O che si deve fare per definirla all'interno di un'altra?
[...]
No, nel codice precedente esiste una funzione tempo(), ma anche tempo1(), e pure una variabile tempo().

In breve, si può senz'altro definire una funzione all'interno di un'altra e richiamarla, ovviamente sempre all'interno della funzione in cui è definita.

In questo caso però, il codice è disordinato oltreché errato dal punto di vista logico, poiché vi sono identificatori uguali per cose diverse e callback che invocano funzioni identificandole come stringhe le quali hanno nomi in comune con variabili addirittura globali e isolati in funzioni che non le richiamano.