Objekt der Klasse aus dem string-Namen in javascript
Ich würde gerne ein Objekt aus seinem Namen in Javascript.
Ich arbeite an einer Anwendung, die Notwendigkeit, zu laden, bis einige anderen Kontext, ich versuche so laden verschiedene Klassen mit dem "Erben" jquery-plugin. Alles funktioniert gut, außer, dass, wenn ich brauche zu instantiieren einer Klasse kann ich nicht, weil ich habe nur den Namen der Klasse und nicht dem Objekt, direkt.
Grundsätzlich würde ich gerne etwas finden, wie " getClass(String name)". Wer könnte mir helfen ?
Ok, das ist blöd, aber mit der 'eval()' Funktion auf den Namen des Objekts den trick tun... Sorry für diesen sinnlos post...
InformationsquelleAutor Celero | 2011-04-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht verwenden
eval()
.Könnten Sie speichern Sie Ihre Klassen in einer Karte:
und dann einfach nachschlagen:
Da
eval()
können verwendet werden, um beliebigen code auszuführen, was ein Sicherheitsrisiko sein kann. Es bietet viel mehr Leistung als man braucht. Warum kann man nicht eine Karte? Was meinst du mit Generika und in welchem Kontext sind Sie reden? Wenn Sie mehr Informationen, wir können Sie helo besser.Ich wurde entierly falsch, Ihre tricks angewendet werden können, wie ich benötige. Danke !
kann nicht verwendet werden, um beliebigen code auszuführen, wenn Sie entsprechende Maßnahmen ergreifen: stackoverflow.com/a/53199720/1952991
Fair genug, scheint immer noch übertrieben, wenn es eine einfachere und klarere Lösung. Aber hey, jeder kann tun, was Sie wollen 🙂
InformationsquelleAutor Felix Kling
JavaScript: Rufen Sie die Funktion basiert auf String:
Nein. Ausführen als globaler code, das Verweis auf den gobal - /Fenster-Objekt ist also äquivalent zu window['foo']. Wenn Sie es in einigen anderen Umfang, Sie können nicht eine Idee haben, was das "Referenzen". Es nicht Referenz den Gültigkeitsbereich der variable oder Aktivierung Objekt (d.h. die Ausführung Kontext), das ist, was Sie wollen, wie es sitzt auf der Oberseite der Objekte, auf die variable Auflösung Kette.
Ok, vielen Dank für Ihre Richtigkeit.
InformationsquelleAutor Sjoerd
Meinst du das?
könnten Sie ein Beispiel geben? vielleicht irgendein code?
Tut mir Leid, ich kann nicht, ja, ich werde versuchen, die Felix Kling Techniken und sehen...Danke für Eure Hilfe
InformationsquelleAutor wong2
Können Sie perfekt verwenden
eval()
ohne ein Sicherheits-Risiko:Vorteile: Sie müssen nicht manuell verwalten ein map-Objekt.
Nachteile: Keine. Mit einem richtigen regex, niemand kann beliebigen code ausführen kann.
InformationsquelleAutor ceremcem