Javascript-Aufruf von parent-Funktion
Frage in der Beschreibung
function Parent(){
this.alertParent(){
alert("Parent alert");
}
function child(){
//how can I call to this.alertParent() from here without passing any
//parameters?
}
}
InformationsquelleAutor Ilya Gazman | 2012-06-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Titel deiner Frage ist verwirrend. Der informelle Begriff "Eltern" - Funktion wird eher verwendet für die aufrufen Funktion.
In Ihrem Fall haben Sie zwei Funktionen in einem Konstruktor-Funktion und Sie wollen einfach nur zu rufen, das eine vom anderen. Speziell, die Sie anrufen möchten eine "öffentliche" Methode, aus einer "private" - Methode (ich habe diese Begriffe in Anführungszeichen, weil das JavaScript nicht unterstützt, Sichtbarkeit und sind diese Problemumgehung, um das gleiche zu erreichen).
Halten nur eine Referenz auf die aktuelle Instanz:
child
schließt über alle Variablen, die in dem Zusammenhang definiert wird, so ist es als Zugang zuself
.this
natürlich ändert sich [MDN].Anstatt eine Schließung, Sie können auch übergeben die Instanz explizit zu
child
mit entweder.call()
[MDN] oder.apply()
[MDN].Damit Ihre Funktion definition bleibt
und wenn Sie die Funktion aufrufen, nennen Sie es, z.B. mit
child.call(this)
wenn Sie wissen, dassthis
bezieht sich auf die Instanz (stattthis
es kann auch jede andere variable).InformationsquelleAutor Felix Kling
Ihre code-syntax-Fehler. Vielleicht Sie bedeutet dies:
Was meinst du mit "Kind" - parameter?
InformationsquelleAutor xdazz