Eigentlich ist es eine sehr einfache Sache. Lies zehn Minuten lang aufmerksam, und du wirst von völliger Verwirrung zu vollständigem Verständnis gelangen!
Verstehe zunächst Folgendes:
Beispiel 1

obj.objAge; // 17 obj.myFun() // 小张年龄 undefined
Beispiel 2

shows() // 盲僧
Vergleiche den Unterschied bei `this` zwischen den beiden. Im ersten zeigt `this` in der gedruckten Ausgabe auf `obj`; im zweiten hat die global deklarierte Funktion `shows()` `this` als `window`;
1. `call()`, `apply()` und `bind()` werden alle verwendet, um das `this`-Objekt neu zu definieren!
Zum Beispiel:

obj.myFun.call(db); // 德玛年龄 99 obj.myFun.apply(db); // 德玛年龄 99 obj.myFun.bind(db)(); // 德玛年龄 99
Abgesehen von den zusätzlichen `()` nach der `bind`-Methode sind die zurückgegebenen Ergebnisse alle gleich!
Daraus können wir schließen, dass `bind` eine neue Funktion zurückgibt, und man muss sie aufrufen, damit sie ausgeführt wird.
2. Vergleich von `call`, `bind` und `apply` bei der Übergabe von Parametern

obj.myFun.call(db,'成都','上海'); // 德玛 年龄 99 来自 成都去往上海 obj.myFun.apply(db,['成都','上海']); // 德玛 年龄 99 来自 成都去往上海 obj.myFun.bind(db,'成都','上海')(); // 德玛 年龄 99 来自 成都去往上海 obj.myFun.bind(db,['成都','上海'])(); // 德玛 年龄 99 来自 成都, 上海去往 undefined
Ein subtiler Unterschied!
Man kann den vier obigen Ergebnissen leicht entnehmen:
Der erste Parameter von `call`, `bind` und `apply` ist das Objekt, auf das `this` verweist. Der Unterschied liegt beim zweiten Parameter:
Die Parameter von `call` werden direkt übergeben. Der zweite, dritte und n-te Parameter werden alle durch Kommas getrennt und direkt dahinter gesetzt.obj.myFun.call(db,'Chengdu', ... ,'string' )。
Alle Parameter von `apply` müssen in ein Array gepackt und übergeben werden.obj.myFun.apply(db,['Chengdu', ..., 'string' ])。
Neben der Rückgabe einer Funktion nimmt `bind` Parameter auf dieselbe Weise entgegen wie `call`.
Natürlich sind die Parameter dieser drei nicht auf den Typ `string` beschränkt. Sie können verschiedene Typen haben, darunter Funktionen, Objekte und so weiter!
Originaladresse: https://www.cnblogs.com/Shd-Study/p/6560808.html