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

    domandina sul ciclo for in

    ho scritto sto codice:

    codice:
    <script type="text/javascript">
    
    // ecco la funzione costruttore
    function Anagrafica(nome, cognome, civico){
    	this.nome = nome;
    	this.cognome = cognome;
    	this.civico = civico;
    	this.name_surname = function(){
    		return this.nome + " - " + this.cognome; 
    	}
    }
    
    // istanzio l'oggetto
    var fab = new Anagrafica("fabs", "surny", "48")
    
    
    // ed elenco le proprietà con for in
    // MIND: "prop" è una variabile creata a run time e ogni altro nome per questa variabile avrebbe funzionato ugualmente  
    for (prop in fab){
    	document.write(prop + "->" + typeof(prop) + "
    ");
    } 
    
    </script>
    ma parchè mi vede tutti gli attributi e i metodi dell'oggetto istanziato come string? lo scirpt scrive:

    nome->string
    cognome->string
    civico->string
    name_surname->string

    metre io mi aspettavo

    nome->string
    cognome->string
    civico->number
    name_surname->Object

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    name_surname più che Object è una function
    prop è sempre una stringa, devi guardare il typeof di fab[prop]
    codice:
    for (prop in fab){
    	document.write(prop + "->" + typeof(fab[prop]) + "
    ");
    }

  3. #3
    Utente di HTML.it L'avatar di lake86
    Registrato dal
    Dec 2006
    Messaggi
    705
    Ciao, javascript ha questo piccolo difetto nel cast stringa-numero...

    Solitamente, per fargli capire che è un tipo numerico faccio, variabile *1. prova

    Gli oggetti li riconosce bene.

    this.name_surname = function(){
    return this.nome + " - " + this.cognome;
    }

    restituisce una stringa.

  4. #4
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    grazzzzie

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.