Heim > Artikel > Web-Frontend > Analyse des Unterschieds zwischen Angerufenem und Anrufer in den Javascript-Kenntnissen
angerufen
callee ist ein Attribut des Objekts, das ein Zeiger ist, der auf die Funktion des Argumentobjekts
zeigt
Schreiben wir zunächst eine Bestellfunktion:
function chen(x){ if (x<=1) { return 1; } else{ return x*chen(x-1); }; };
Wie aus dieser Funktion hervorgeht, wird eine rekursive Funktion verwendet. Wenn der Funktionsname geändert wird, ändert sich auch der darin enthaltene Funktionsname. Dies ist sehr unpraktisch, daher verwenden wir callee, um es zu versuchen
function chen(x){ if (x<=1) {return 1; }else{ return x*arguments.callee(x-1); }; };
Anrufer
Nehmen wir zunächst ein Beispiel
function a(){ b(); }; function b(){ alert(b.caller); }; a(); //结果就是弹出函数a和内容
Da Sie nun „Anrufer“ und „Angerufener“ verstanden haben, können Sie die beiden kombinieren, um sie zu verwenden?
function b(){ alert(b.caller); };
Bisher wussten wir, wie man auf das aktuelle Objekt zeigt. Als nächstes ändern wir es:
(function a(){ b(); })(); function b(){ alert(arguments.callee.caller); };
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.