Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    forme di ricorsione differenti?

    mi diote che differenza c'è tra

    codice:
    <div id="x" style="width: 400px;"></div>
    
    <script type="text/javascript">
    	function ricorsiva(){
    		document.getElementById('x').innerHTML += "hello world! ";
    		setTimeout("ricorsiva()", 100);	
    	}
    	
    	ricorsiva();
    </script>
    e ...

    codice:
    <div id="x" style="width: 400px;"></div>
    
    <script type="text/javascript">
    	function ricorsiva(){
    		document.getElementById('x').innerHTML += "hello world! ";
    		setTimeout(ricorsiva, 100);	
    	}
    	
    	ricorsiva();
    </script>
    non capisco!!! come mai una funzione si può chiamare semza usare le parentesi "()" alla fine del nome della f?

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    se richiami la funzione senza parentesi è come se passassi il codice che la contiene
    ti basta fare una prova
    codice:
    alert(ricorsiva);

  3. #3
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    ok grazie non lo sapevo! ma dove sta scritta sta roba? non lo sapevo proprio!

    ci vedi difetti nell'uso della della versione con parentesi?

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da nourdine
    ci vedi difetti nell'uso della della versione con parentesi?
    no

  5. #5
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    mmm --- il fatto è che in alcuni casi con la versione di chiamata classica a funzione (con parentesi) firebug mi ha dato "too much recursion"! ti dice niente?

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    la funzione che hai fatto prima o dopo va in overflow... dovresti mettere una condizione di uscita o almeno svuotare l'innerHTML

  7. #7
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    mentre se la richiamo ricorsivamente senza "()" non va in overflow???? e così? o va in overflow lo stesso?

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da nourdine
    ok grazie non lo sapevo! ma dove sta scritta sta roba? non lo sapevo proprio!
    http://developer.mozilla.org/en/docs...dow.setTimeout

    Nello scusarmi per l'intromissione volevo chiedere se le procedure scritte da nourdine sono procedure "ricorsive" in senso stretto. Ciao
    Pietro

  9. #9
    codice:
    ci vedi difetti nell'uso della della versione con parentesi?
    E' meglio utilizzare la versione senza virgolette, non tanto per il fatto che viene usato eval bensì perchè ci potrebbero essere problemi nel passare alla funzione delle variabili locali.

    Per passare argomenti alla funzione, nella versione senza virgolette, devi ovviamente utilizzare una funzione anonima.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.