Ho iniziato da poco a studiare javascript. Non capisco questo codice e volevo discuterlo in modo approfondito.
codice:
function delayTimer(delay){
var timer;
return function(fn){
timer=clearTimeout(timer);
if(fn)
timer=setTimeout(function(){
fn();
},delay);
return timer;
}
}
Domande:
1) cosa fa e come si usa
2) perché non ha scritto timer=setTimeout("fn();",delay); ?? perché alla setTimeout passa una funzione
anonima che a sua volta esegue fn()?
3) non capisco il senso di fn(). fn e' il parametro passato alla prima funzione anonima. Oggi variabile
e' un oggetto, ma cosa vuol dire fn() ?
4) fn inzialmente e' null? come fa a non essere null??
beh per ora basta cosi'
grazie