Javascript eval ReferenceError: nicht definiert

Muss ich dynamische erstellen einer Variablen aus dem Wert einer Variablen von einem argument bin ich ziehen in ein Skript. Aber ich will zuerst zu prüfen, ob es bereits vorhanden ist, damit ich nicht überschreiben, wenn es bereits gesetzt ist.

Bin ich Nutzung von eval zu erweitern wird der Wert der Variablen-und tag-auf eine variable suffix, aber egal, was ich verwenden, um zu überprüfen, für den unbestimmten, ich bin immer ein Referenz-Fehler, die auf der Kontrolle.

Unten ist der einfache code snippet -

chkUser = args[1];

if(typeof eval(chkUser+"lastseen")==="undefined") ;

Habe ich auch versucht, setzen die eval in Klammern und setzen undefiniert in '' und zog Sie komplett aus und schalten typeof, um den JavaScript-standard-undefiniert als solche

if( eval(chkUser+"lastseen")=== undefined) ;

aber ich bekomme immer ReferenceError: robertlastseen ist nicht definiert oder was auch immer chkUser erweitert heraus.

  • Führen Sie die typeof Aufruf innerhalb der eval(). if(eval('typeof '+chkUser+'lastseen') === "undefined")
  • Haben Sie sich überlegt speichern diese als Eigenschaften einer Object anstatt als separate Variablen? Klammer-notation ist in der Regel einfacher als eval() und nicht werfen ReferenceErrors. Oder, geben Sie eine Benutzer-Objekt, anstatt der variable als Präfix args[1] -- if (typeof args[1].lastseen === 'undefined').
  • I need to dynamical create a variable off the value of a variable - Warum?
  • if (window[args[1]+"lastseen"]) ...
  • zum annehmen von Antworten
InformationsquelleAutor user3577459 | 2014-06-02
Schreibe einen Kommentar