ich definieren, ein Objekt wie folgt aus:Javascript „Not a Constructor“ Ausnahme beim Erstellen von Objekten
function Project(Attributes, ProjectWidth, ProjectHeight)
{
this.ProjectHeight = ProjectHeight;
this.ProjectWidth = ProjectWidth;
this.ProjectScale = this.GetProjectScale();
this.Attributes = Attributes;
this.currentLayout = '';
this.CreateLayoutArray = function()
{....}
}
ich dann versuchen, zu erstellen und zu Beispiel wie folgt aus:
var newProj = new Project(a,b,c);
Aber diese execption geworfen wird :
Project is not a constructor
Was könnte falsch sein? Ich habe viel gegoogelt, kann aber immer noch nicht herausfinden, was ich falsch mache.
Aus Neugier, den Browser zu geben, dass „Projekt ist kein Konstruktor“ Nachricht? –
Als nicht verwandter Seitenknoten empfehlen allgemeine JavaScript-Stilrichtlinien das Starten eines Variablenbezeichners mit einem Großbuchstaben nur, wenn es ein Konstruktor ist: "Projekt" ist in Ordnung, aber das führende Kapital in "ProjectHeight" legt mir nahe, dass es auch ein sein soll Konstrukteur. Wenn Sie stattdessen "projectHeight" verwenden, wird Ihr Code für andere besser lesbar sein. (Wenn andere Poster richtig sind und Sie an anderer Stelle eine Projektvariable definiert haben, wird die Verwendung der Regel "Großbuchstaben - für Konstruktoren - nur" Ihnen ersparen, diesen Fehler erneut zu machen.) – apsillers
@DaggNabbit Opera does (12.15) – PeerBr