Wie Sie einen Rückruf erhalten, um mit "this" im Klassenbereich zu arbeiten [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Diesen Kontext zurückrufen [duplizieren] 2 AntwortenIch habe eine Frage zu folgendem Code, um "this.text" auszudrucken.
Ich brauche eine Wrapper-Funktion, damit es funktioniert. Das ist zu mühsam.
Gibt es einen einfacheren Weg (ohne zusätzlichen Wrapper), um es zum Laufen zu bringen?
function Class1() {
this.text = "test";
}
Class1.prototype.show = function() {
console.log(this);
console.log(this.text);
}
var testClass = new Class1();
function funWithCallBack(cb) {
cb();
}
// it will show "undefined" because "this" scope changes to window
funWithCallBack(testClass.show);
function wrapper() {
testClass.show();
}
// this one will work but troublesome
funWithCallBack(wrapper)