Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Stringare un this

  1. #1

    Stringare un this

    Ciao a tutti.
    Ho una funzione utilizzata da diversi oggetti.
    Dovendo estrarre il nome degli oggetti in una variabile, ho scritto:
    codice:
    _root.variabile=this
    usando il trace vedo in effetti che compaiono:
    _level0.oggettoa
    _level0.oggettob
    ...
    a seconda dell'oggetto in causa.

    Ma nel controllo successivo dove dico:
    codice:
    if (_root.variabile=="_level0.oggettoa") {...}
    sembra non prenderlo.
    Giusto, ho pensato, non essendo una stringa.
    Ma nemmeno
    codice:
    if (_root.variabile==_level0.oggettoa) {...}
    funziona.

    Ho quindi provato a convertire this in una stringa, ma tutti i miei tentativi si sono rivelati vani.
    Ho provato sia String(this) che this.toString()..
    probabilmente non li so usare bene, qualcuno può darmi una soluzione e farmi chiarezza?

    Grazie e scusate per la stupidata

  2. #2
    hai provato


    if (_root.variabile=="oggettoA") {...}


    Ciao

  3. #3
    Ho provato ma non cambia. Forse perchè "oggettoA" è comunque una stringa e la variabile assume un valore che, sebbene tracciandolo sembri una stringa, è in realtà un oggetto.

    Magari mi basterebbe una funzione che converta l'oggetto in stringa, una cosa tipo:

    codice:
     _root.variabile=String(this)

  4. #4
    _root.variabile = this.toString();

    if ( eval(_root.variabile)==_level0.oggettoa)
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Nulla.
    this.toString() mi restituisce sul trace [object Object] e non più _level0.oggettoA.
    Abbiamo fatto forse un passo indietro?

  6. #6
    Tra l'altro, nelle varie prove effettuate, ho notato un netto rifiuto che non so spiegarmi.
    Ci metterò di più, ma ho scritto una riga diversa per ogni oggetto giusto per capire dove sta l'inghippo.

    codice:
    if (this==level0.oggettoA) {trace("ok");_root.variabile="_level0.oggettoA";}
    ...
    la cosa strana è che mi traccia l'ok e quindi la variabile in questo modo è finalmente una stringa.

    Ma al turno successivo quando scrivo:

    codice:
    if (_root.variabile=="_level0.oggettoA") {...}
    ...
    else {trace("no");}
    mi traccia sempre il no.

    Eppure variabile la identifico sempre con il percorso in _root. Non so più cosa pensare.. :master:

    Help!

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.