2 Stimmen

Wie wertet man eine Variable aus, um auf ihren Laufzeitwert in JavaScript zuzugreifen?

Ok, ich weiß nicht, wie ich diese Frage stellen soll, ohne sie zu zeigen. (Das erklärt auch, warum ich nicht herausfinden kann, wie man bei Google danach sucht).

Gegeben sei der folgende Code:

dijit.byId('leftNavigationPane').onLoad = function(){setSecondaryNav(url.secondaryNavId);};

Ich möchte die Variable url.secondaryNavId Ich möchte also, dass es in etwa so behandelt wird:

dijit.byId('leftNavigationPane').onLoad = function(){ setSecondaryNav('item1'); };

Ich bin sicher, dass es einen besseren Weg gibt, dies zu tun, so fühlen Sie sich frei, etwas vorzuschlagen.

5voto

palswim Punkte 11356

Verwenden Sie nicht eval !

Sie können eine Selbstläuferfunktion y Verschlüsse wie folgt:

dijit.byId('leftNavigationPane').onLoad = function(id){
    return function(){ setSecondaryNav(id); };
}(url.secondaryNavId); 

Dadurch wird die äußere anonyme Funktion sofort (zur Laufzeit) ausgeführt, wobei die url.secondaryNavId Parameter, der dann eine Schließung erzeugt, die von der inneren anonymen Funktion verwendet wird (also id enthält immer den Zuweisungszeitwert der url.secondaryNavId Eigenschaft).

-1voto

Anthony -GISCOE- Punkte 628

Es gibt die JavaScript-Funktion eval().

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X