Как заставить обратный вызов работать с «this» в области видимости [duplicate]
На этот вопрос уже есть ответ:
Обратитесь к этому контексту [дубликат] 2 ответаУ меня есть вопрос о следующем коде для распечатки "this.text".
Мне нужно иметь функцию-обертку, чтобы она работала. Это слишком хлопотно.
Есть ли более простой способ (без дополнительной обертки) заставить его работать?
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)