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 Antworten

Ich 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)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage