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

    Dubbio creazione oggetti

    Per capire come funzionano gli oggetti sto provando a fare un semplice esercizio: visualizzare il cognome di 2 oggetti che appartengono alla stessa classe.

    Il codice è questo:
    Codice HTML:
    <html>
    <head>
    <script type="text/javascript">
    var persona=new Persona("Rossi",50,"rossi@libero.it");
    var personadue=new Persona("Verdi",60,"verdi@libero.it");

    function Persona(cognome,eta,mail)
    {this.cognome=cognome;
    this.eta=eta;
    this.mail=mail;
    this.visualizzacognome=function()
    {
    var msg="";
    msg+="Cognome"+" "+this.cognome;
    return msg;
    }
    </script>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <input type="button" name="btn" value="Visualizza" onclick="persona.visualizzacognome(); personadue.visualizzacognome();">

    </body>
    </html>

    Dovrebbe visualizzare"Rossi e "Verdi" ma non funziona..chi sa spiegarmi in modo semplice cosa sbaglio?Grazie!
    Ultima modifica di eagle87; 18-01-2015 a 18:15

  2. #2
    Quote Originariamente inviata da eagle87 Visualizza il messaggio
    Per capire come funzionano gli oggetti sto provando a fare un semplice esercizio: visualizzare il cognome di 2 oggetti che appartengono alla stessa classe.

    Il codice è questo:
    Codice HTML:
    <html>
    <head>
    <script type="text/javascript">
    var persona=new Persona("Rossi",50,"rossi@libero.it");
    var personadue=new Persona("Verdi",60,"verdi@libero.it");

    function Persona(cognome,eta,mail)
    {this.cognome=cognome;
    this.eta=eta;
    this.mail=mail;
    this.visualizzacognome=function()
    {
    var msg="";
    msg+="Cognome"+" "+this.cognome;
    return msg;
    }
    </script>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <input type="button" name="btn" value="Visualizza" onclick="persona.visualizzacognome(); personadue.visualizzacognome();">

    </body>
    </html>

    Dovrebbe visualizzare"Rossi e "Verdi" ma non funziona..chi sa spiegarmi in modo semplice cosa sbaglio?Grazie!
    ciao intanto manca una parentesi graffa x chiudere l istanza e poi fai alert(msg) togliendo il return

  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,708
    A prima vista manca una parentesi graffa in una funzione.
    Ti consiglio di indentare bene il codice quando lo scrivi (se già non lo fai) così è più semplice anche per te capire determinati errori.
    Inoltre puoi usare la console web e i vari strumenti del tuo browser con cui poter ottenere le segnalazioni degli errori sul codice.
    Infine, quando posti del codice sul forum, sarebbe opportuno usare adeguatamente gli appositi tag di formattazione (vedi "info utili" nel regolamento di sezione), in questo modo è più semplice che si riceva aiuto.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #4
    Quote Originariamente inviata da david666 Visualizza il messaggio
    ciao intanto manca una parentesi graffa x chiudere l istanza e poi fai alert(msg) togliendo il return
    Con alert funziona bene...ma giusto per capire, se volessi farlo senza alert in questo modo:

    codice HTML:
    <html>
    <head>
    <script type="text/javascript">
    var persona=new Persona("Rossi",50,"mario@libero.it");
    var personadue=new Persona("Verdi",60,"verdi@libero.it");
    function Persona(cognome,eta,mail)
    {this.cognome=cognome;  
    this.eta=eta;
     this.mail=mail;  
    this.visualizzacognome=function()  
    {      var msg="";    
        msg+="Cognome"+" "+this.cognome;     
        return msg;  
    }
    }
    function getMsg()
    {            
     document.getElementById('myDIV').innerHTML = persona.visualizzacognome();
    }
    function getMsgdue()
    {   
     document.getElementById('myDIV').innerHTML = personadue.visualizzacognome();
    }
    </script>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body onLoad="getMsg();">
    <div id="myDIV"></div>
    <input type="button" name="btn" value="Visualizza" onclick="getMsg();getMsgdue();">
    </body>
    </html>
    E' corretto?

  5. #5
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    A prima vista manca una parentesi graffa in una funzione.
    Ti consiglio di indentare bene il codice quando lo scrivi (se già non lo fai) così è più semplice anche per te capire determinati errori.
    Inoltre puoi usare la console web e i vari strumenti del tuo browser con cui poter ottenere le segnalazioni degli errori sul codice.
    Infine, quando posti del codice sul forum, sarebbe opportuno usare adeguatamente gli appositi tag di formattazione (vedi "info utili" nel regolamento di sezione), in questo modo è più semplice che si riceva aiuto.
    Se utilizzo alert funziona...ma giusto per capire, se volessi farlo senza alert in questo modo:

    codice HTML:
    <html>
    <head>
    <script type="text/javascript">
    var persona=new Persona("Rossi",50,"mario@libero.it");
    var personadue=new Persona("Verdi",60,"verdi@libero.it");
    function Persona(cognome,eta,mail)
    {this.cognome=cognome;  
    this.eta=eta;
     this.mail=mail;  
    this.visualizzacognome=function()  
    {      var msg="";    
        msg+="Cognome"+" "+this.cognome;     
        return msg;  
    }
    }
    function getMsg()
    {            
     document.getElementById('myDIV').innerHTML = persona.visualizzacognome();
    }
    function getMsgdue()
    {   
     document.getElementById('myDIV').innerHTML = personadue.visualizzacognome();
    }
    </script>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body onLoad="getMsg();">
    <div id="myDIV"></div>
    <input type="button" name="btn" value="Visualizza" onclick="getMsg();getMsgdue();">
    </body>
    </html>
    E' corretto?

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,708
    Sintatticamente mi sembra corretto ma non capisco cosa vuoi ottenere di preciso.
    Non mi torna la logica che hai utilizzato. Dal momento che le due funzioni getMsg() e getMsgdue() modificano interamente il contenuto di myDIV, trovo poco sensato richiamarle una dopo l'altra perché ciò che ottieni, visivamente, è solo il risultato di getMsgdue().
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Sintatticamente mi sembra corretto ma non capisco cosa vuoi ottenere di preciso.
    Non mi torna la logica che hai utilizzato. Dal momento che le due funzioni getMsg() e getMsgdue() modificano interamente il contenuto di myDIV, trovo poco sensato richiamarle una dopo l'altra perché ciò che ottieni, visivamente, è solo il risultato di getMsgdue().
    Come potrei riscriverlo usando un'unica funzione che mi permette di visualizzare i 2 cognomi?

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,708
    Dipende da cosa vuoi ottenere esattamente.
    Giusto come idea, io farei una cosa del genere:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <script type="text/javascript">
          var persona=new Persona("Rossi",50,"mario@libero.it");
          var personadue=new Persona("Verdi",60,"verdi@libero.it");
          function Persona(cognome,eta,mail){
            this.cognome=cognome;
            this.eta=eta;
            this.mail=mail;
            this.visualizzacognome=function(){
              var msg="";
              msg+="Cognome"+" "+this.cognome;
              return msg;
            }
          }
          function getMsg(){            
            document.getElementById('myDIV').innerHTML = persona.visualizzacognome()
            +"<br>"+personadue.visualizzacognome();
          }
        </script>
      </head>
      <body>
        <input type="button" name="btn" value="Visualizza" onclick="getMsg()">
        <div id="myDIV"></div>
      </body>
    </html>


    PS: ti prego, non citare i post interi quando non serve. Grazie
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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 © 2024 vBulletin Solutions, Inc. All rights reserved.