Funktion innerhalb einer Funktion aufrufen

Atalión

Mitglied
Heyho :)

Ich bin nicht sonderlich bewandert in JS, daher hoff ich dass ihr mir weiterhelfen könnt.

Ich habe zwei Funktionen ( bspw. function1() und function2() ). function2() wird von function1() umgeben und soll anschließend in function1() aufgerufen werden. Also so (ist jetzt ein Beispiel, die tatschliche Funktion ist etwas lang; beim Beispiel geht's auch nicht ^^):

Code:
function1()  {

   function2() {
       document.write('blubb');
   }

return '<div id="blibb">' + this.function2 + '</div>';

}


so.. und da, wo jetzt blubb stehen sollte, steht undefined. Wieso? :D

LG :)
 
Hi,

ruf die Funktion function2 ohne this auf. Ausserdem fehlen die Klammern.
Code:
return '<div id="blibb">' + function2() + '</div>';
Grund: function2 ist keine Methode des Objekts function1, sondern läuft nur in dessen Gültigkeitsbereich.

Willst du die Funktion als Methode aufrufen, so musst du sie wie nachstehend deklarieren:
Code:
function function1()  {
  this.function2 = function(){
    return "Text";
  }

  return '<div id="blibb">' + this.function2() + '</div>';
}

Ciao
Quaese
 
Zurück