Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Funzionamento del ciclo for/in

    Salve a tutti, sto studiando da un pò di tempo il linguaggio java script ma mi sono bloccato quando ho dovuto affrontare il ciclo for/in poichè non capisco come funziona...
    Il materiale che mi è stato fornito per studiare questo linguaggio mi riporta il seguente esempio

    codice:
    <html>
    <head><title>)Ciclo for/in e oggetti</title>
     <script type = "text/javascript">
     function libro(titolo, autore, editore){ this.titolo = titolo; 
    this.autore = autore;
     this.editore = editore; 
    this.show=show; // Definisce un metodo “show” per l’oggetto 
    } 
    function show(ogg, nome){ // Funzione che serve a indicare (show) le proprietà dell’oggetto
    var risult = "";
     for (var prop in ogg){ 
    risult += nome + "."+ prop +"="+ ogg[prop] + "
    ";
     }
     return risult;
     } 
    </script> 
    </head> 
    <body bgcolor="lightblue">
     <script type = "text/javascript">
    NuovoLibro = new libro("Harry Potter", "J. K. Rowling", "Salani");
     document.write("
    [b]" + NuovoLibro.show(NuovoLibro, "Libro"));
     </script>
     </body> 
    </html>
    Inoltre non capisco quale sarebbe il funzionamento della parola show visto che lo utilizza come proprietà dell'oggetto e come funzione...Spero che saprete aiutarmi. Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    show e' un metodo di libro e tu lo stai usando come tale, NuovoLibro.show(NuovoLibro, "Libro")
    che anche la funzione si chiami show e' irrilevante

    sinceramente non mi e' chiaro cosa non e' chiaro del for/in perche' fa esattamente ...quello che fa il tuo esempio

  3. #3
    il problema è ke io non capisco cosa vuol dire la condizione for(var prop in ogg)

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    cicla tra le proprieta' di un oggetto

  5. #5
    scusami ma non capisco...prop non è una variabile creata nel ciclo?

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ad ogni iterazione la variabile prop conterra' il nome di una proprieta' dell' oggetto
    la variabile la definisci dentro al ciclo ma non e' obbligatorio
    codice:
    var ultimo;
    for(ultimo in NuovoLibro);
    alert(ultimo); // <- puoi essere "quasi" certo contenga show

    sperando non ti confonda ancora di piu' le idee
    il for/in e' un ciclo, ma nulla ti impedisce di usare semplicemente "in"

    if("editore" in NuovoLibro){...}

    ciao

  7. #7
    Ok questo è chiaro. ma per quanto riguarda il risultato in output sul browser nelle ultime 2 righe mi riporta esattamente tutto il codice compreso nella funzione show...per caso è dovuto al metodo show di Libro?

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    certo, per riferimento il metodo show di quell' oggetto e' la funzione show
    e se stampi una funzione la stampa esattamente come e' definita nel codice

    il nome "show" e' ovviamente del tutto arbitrario

    ciao

  9. #9
    Ok ti ringrazio per la pasienza e per le chiarezze che mi hai dato, ciao

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.