Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Problema con eval

  1. #1
    Utente di HTML.it L'avatar di Kevin
    Registrato dal
    Aug 2002
    Messaggi
    503

    Problema con eval

    Ciao ho una cosetta da risolvere,
    devo vedere se una variabile con nome dinamico esiste o no, io faccio questo
    function exists(ProdSel) {
    if(undefined === typeof(eval("ProdArr_"+ProdSel+"_id"))){
    alert('ko');
    } else {
    alert('ok');
    }
    }

    così non funziona ma se metto direttamente il nome della variabile al posto dell'eval per esempio ProdArr_7_id funziona ... come mai?
    Non ti accontentare mai. Raggiungi il successo e poi rinizia da capo.
    Non si ha mai una seconda possibilità per fare una bella prima impressione.
    Punti d'immersione in Italia e all'estero
    Template per siti web

  2. #2
    Utente di HTML.it L'avatar di Kevin
    Registrato dal
    Aug 2002
    Messaggi
    503
    Trovata la soluzione

    function exists(ProdSel) {
    if(undefined === eval('typeof(ProdArr_'+ProdSel+'_id)')){
    alert('ko');
    } else {
    alert('ok');
    }
    }
    Non ti accontentare mai. Raggiungi il successo e poi rinizia da capo.
    Non si ha mai una seconda possibilità per fare una bella prima impressione.
    Punti d'immersione in Italia e all'estero
    Template per siti web

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    eval e' lento e deprecato (potrebbe non essere supportato in futuro), nel tuo caso non e' indispensabile perche' puoi sostituire
    eval("ProdArr_"+ProdSel+"_id")
    con
    window["ProdArr_"+ProdSel+"_id"]
    ottenendo identico risultato
    ciao

  4. #4
    Utente di HTML.it L'avatar di Kevin
    Registrato dal
    Aug 2002
    Messaggi
    503
    grazie mille per il consiglio
    Non ti accontentare mai. Raggiungi il successo e poi rinizia da capo.
    Non si ha mai una seconda possibilità per fare una bella prima impressione.
    Punti d'immersione in Italia e all'estero
    Template per siti web

  5. #5
    Utente di HTML.it L'avatar di Kevin
    Registrato dal
    Aug 2002
    Messaggi
    503
    come faccio a richiamare una funzione che ha il nome del valore di una variabile?
    o meglio

    function alertPippo() {
    alert('Pippo');
    }

    var func = alertPippo;


    ... window[func] ?
    Non ti accontentare mai. Raggiungi il successo e poi rinizia da capo.
    Non si ha mai una seconda possibilità per fare una bella prima impressione.
    Punti d'immersione in Italia e all'estero
    Template per siti web

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    window[func()]

  7. #7
    Utente di HTML.it L'avatar di Kevin
    Registrato dal
    Aug 2002
    Messaggi
    503
    window[func]() così funziona
    Non ti accontentare mai. Raggiungi il successo e poi rinizia da capo.
    Non si ha mai una seconda possibilità per fare una bella prima impressione.
    Punti d'immersione in Italia e all'estero
    Template per siti web

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.