javascript type error "ist kein Konstruktor"
Ich habe mehrere Klassen, die für die verschiedenen Arten von Tabellen. Ich setzte die Namen von Klassen, um das Wörterbuch. Ich nehme Klasse name aus dem Wörterbuch von Schlüssel und versuchen Sie, erstellen Sie eine Instanz der Klasse mit dem Bau "neuer var_with_class_name()" bekomme aber eine Fehlermeldung "TypeError: dictionary[Modellname] ist kein Konstruktor".
Dieser code ist gepackt require.js -Modul.
Code:
define("models", ["jquery", "ui"], function($, ui){
var TimeTableRow = function()
{ /* class methods definitions */ }
var WayTableRow = function()
{ /* ... */ }
var ModelsDictionary = function()
{
var self = this;
self.getModel = function(model_name)
{
var dictionary = {'time':"TimeTableRow", 'way':"WayTableRow"};
return new dictionary[model_name]();
}
}
return new ModelsDictionary();
});
Beispiel für die Verwendung von einem anderen require.js Modul (überspringe ich alle requirejs configs und Importe, nur Zeile code wirft beschriebenen Fehler):
var tableRow = models.getModel(item_type);
InformationsquelleAutor super pantera | 2013-06-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gegeben
dictionary[model_name]
Auswertung eine string (oder undefiniert) undnew ("x")()
ist Unsinn. Statt der Suche nach bewerten sollte, um die tatsächlichen Konstruktor-Funktionen:Denken Sie daran, die Funktionen sind Objekte in JavaScript.
InformationsquelleAutor user2246674