Closures und Scopes
1015
- javascript
Hallo, wie kann ich eine Variable in JavaScript von einer prototype-Funktion aus beschreiben? Hier der Codde:
new start();
var start = function(){
this.test = "Hallo!";
change();
}
start.prototype.change = function(){
this.test = "new Hallo";
alert(this.test);
}
Danke im voraus. Bin noch ziemlicher Anfänger was JavaScript angeht. :)
Hallo,
Hallo, wie kann ich eine Variable in JavaScript von einer prototype-Funktion aus beschreiben? Hier der Codde:
new start();
var start = function(){
this.test = "Hallo!";
change();
}start.prototype.change = function(){
this.test = "new Hallo";
alert(this.test);
}
>
> Danke im voraus. Bin noch ziemlicher Anfänger was JavaScript angeht. :)
<https://forum.selfhtml.org/?t=209765&m=1427832>
Prototype hat nix mit dem Scope der Funktion zu tun.
Gruß
jobo
var start = function(){
Als Konvention benennt man Konstruktoren mit einem Großbuchstaben am Anfang, um sie von normalen Funktinonen abzugrenzen.
this.test = "Hallo!";
change();
Das wird nicht funktionieren, sondern eine Exception auslösen, weil die Funktion change nicht gefunden wurde.
Wenn du hier die Objektmethode aufrufen willst, musst du this.change(); notieren.
start.prototype.change = function(){
this.test = "new Hallo";
alert(this.test);
}
Dann zeigt this in dieser Funktion auch auf das Instanzobjekt.
Allgemein zur Einführung:
http://molily.de/js/organisation-instanzen.html
Mathias