Visualizzazione dei risultati da 1 a 6 su 6

Discussione: enumerazione enum

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    enumerazione enum

    ciao.
    ho questo oggetto in js:
    codice:
       var Days = {"sunday" : 0, "monday" : 1, "tuesday" : 3, "wednesday" : 4, "thursday" : 5, "friday" : 6, "saturday" : 7};
    è possibile scorrerlo come fosse un array?
    ad es:
    in pseudocodice:

    for(int i = 0 ; Days.lenght; i++)
    var number = Days[i];
    e il valore(la key)?

    è possibile anche creare e scorrere un oggetto del genere?

    codice:
       var Days = {"sunday" : "domenica", "monday" : "lunedi", "tuesday" : "martedi", "wednesday" : "mercoledi", "thursday" : "giovedi", "friday" : "venerdi", "saturday" : "domenica"};
    ????

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    codice:
    for (var giorno in Days) {
    	alert("La chiave " + giorno + " contiene come valore " + Days[giorno] + ".";
    }
    Occhio che ti partirano tanti alert per quante sono le chiavi del tuo oggetto!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    grazie Marx.
    E' questo modo di scrivere gli oggetti il famigerato json?
    come funziona precisamente, se hai un link mandamelo va, non sto qui a disturbarti.
    altrimenti se è questo il json(te lo chiedo) me lo cerco da solo su google.

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Non ti confondere. JSON (JavaScript Object Notation) è la sintassi descrittiva della dichiarazione di un oggetto. Significa che si tratta fondamentalmente di una stringa. Questa ad esempio è una stringa JSON valida:

    codice:
    var mioJSON = "{ \"nome\": \"tizio\", \"cognome\": \"caio\" }";
    alert(mioJSON); // giusto per capire di che si tratta ;)
    Può in seguito essere parsata e trasformata in un oggetto con:

    codice:
    var mioOggetto = JSON.parse(mioJSON);
    https://developer.mozilla.org/en/json


  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    putroppo non mi va il link!!!azzzz
    ti chiedo un ultima cosa intanto che ritorna disponibile:

    Ho un oggetto vertexbuffer che ha numerosi sottobuffer(come array)contenenti dati (float e int , ma questo esula)
    Tutte le volte che voglio un effetto (sto parlando di webgl) devo specificare a cosa è linkata la variabile dell effetto ,nel vertexbufer(ad es ho una variabile position nell effetto e va bindata a position,o qualcosa d'altro nel vertexbuffer).
    ecco io vorrei qualcosa di simile con una codifica json , è possibile secondo te?
    o sto diendo cazzxxxx
    vorrrei che fosse hard coded nel codice , in modo da creare degli effetti con notazione json concreti a livello di compilazione semplicemente scrivendo un oggettino che serve per fare il binding tra l'effetto e i buffer, ma un pelino piu' complicato dell' oggetto day , è per questo che ho pensato a json.

    ciao.

  6. #6
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Mi spiace, ma così non posso darti suggerimenti. L'unica cosa che mi preme farti notare è la differenza tra valore primario e object reference. In javascript sono valori primari solo tre cose:[list=1][*]booleani[*]numeri[*]stringhe[/list=1]
    Punto e basta. Tutto il resto (date, array, funzioni, etc etc) sono object reference. Ovvero, in parole povere, non sono altro che dei link a un qualcosa che è inaccessibile alla programmazione. Se io scrivo:

    codice:
    var ciao = new Date();
    L'interprete chiama il costruttore di date, crea una data e se la tiene per sé, totalmente inaccessibile nel suo "valore primario", ma crea un link a tale oggetto interno e lo mette nella variabile "ciao". Se poi io scrivo:

    codice:
    var mondo = ciao;
    L'interprete prende il "link" contenuto in ciao (ma si chiama "reference") alla posizione della memoria in cui è stata creata la data e lo ricopia paro paro in mondo. Adesso ciao e mondo contengono entrambe due "link" allo stesso oggetto. Te ne rendi conto perché se ad esempio lo modifichi accedendoci tramite ciao scopri che anche la variabile mondo è cambiata. Da questo puoi intuire che in javascript non c'è modo di ricopiare gli oggetti (deep copy) senza passare per dei cicli che li leggano per intero. Ma del resto è per questo che esistono i prototipi e i costruttori che tagliano la testa al toro

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.