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

    Lavorare con gli oggetti (new object())

    Allora creo un oggetto così
    codice:
    Sezione = new Object()
    
    Sezione.alfa=false
    Sezione.timeline=true
    Sezione.nome="azienda"
    Se io faccio
    codice:
    SezTemp = Sezione
    e faccio il trace di
    setTemp.Nome
    ricevo come risposta "azienda".
    E fin qui ci siamo
    Ma se io faccio
    codice:
    SezTemp.nome="pippo"
    trace(sezTemp.nome)
    trace(sezione.nome)
    Scopro che mi è cambiato il nome anche dell'oggetto Sezione.
    Quindi assegnando l'uguaglianza con "=" da quello che ho capito AS sincronizza i due oggetti come fossero uno solo. Posso assegnare a SezTemp le proprietà di Sezione, e lavorarci poi come fosse un'istanza separata?

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Succede perchè in quel modo tu non crei un nuovo oggetto con le stesse proprietà del primo, ma semplicemente una variabile che contiene un riferimento ad esso (e quindi sono la stessa cosa, come se mi riferissi a te con il nome o con il cognome, due identificatori diversi ma che fanno riferimento alla stessa cosa). Puoi risolvere così:

    codice:
    _global.CloneObject = function(obj)
    {
    	var o = new Object();
    	for(var prop in obj){
    		o[prop] = obj[prop];
    	}
    	return o;
    };
    Sezione = new Object();
    Sezione.alfa = false;
    Sezione.timeline = true;
    Sezione.nome = "azienda";
    
    SezTemp = CloneObject(Sezione);
    
    SezTemp.nome="pippo"
    trace(SezTemp.nome)
    trace(Sezione.nome)

  3. #3
    Succede perchè in quel modo tu non crei un nuovo oggetto con le stesse proprietà del primo, ma semplicemente una variabile che contiene un riferimento ad esso
    Effettivamente proprio sveglio non sono

    Intanto mi incolla la tua funzione

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.