Hoffentlich ist dies eine einfache Antwort. Ich versuche, eine Methode innerhalb meines Objekts aufzurufen, die Konsole gibt jedoch einen Fehler, dass die Funktion keine Funktion ist.Interne Funktionen innerhalb des Objekts aufrufen
function tabs(el, data){
this.el = el;
this.addTab = function(data){
console.log("addTab", this.el, data);
};
data.forEach(function(data){
this.addTab(data);
});
}
Ich rufe meine Aufgabe zunächst wie so:
var t = new tabs("tabs", []);
Mein Fehler ist, dass addTab keine Funktion ist.
Eine Erklärung für * warum *, die einen Unterschied macht, würde dies zu einer besseren Antwort machen. – Quentin
Danke dafür. Mir waren die zusätzlichen Funktionen der Pfeilfunktionen nicht bekannt. Ich frage mich aber, warum die Verwendung von addTab (und nicht this.addTab) aus dem ursprünglichen Code auch nicht funktioniert? –
Weil 'addTab' an das aktuelle Objekt gebunden ist. Also müssen Sie dieses Objekt finden, als rufen Sie 'addTab' daraus –