Aufruferattribut
gibt einen Verweis auf die Funktion zurück, d. h. den Funktionskörper, der die aktuelle Funktion aufgerufen hat.
functionName.caller: Das functionName-Objekt ist der Name der ausgeführten Funktion.
Hinweis:
Bei Funktionen wird das Aufruferattribut nur definiert, wenn die Funktion ausgeführt wird. Wenn die Funktion von der obersten Ebene eines JScript-Programms aufgerufen wird, enthält der Aufrufer null . Wenn das Caller-Attribut in einem String-Kontext verwendet wird, ist das Ergebnis dasselbe wie functionName.toString, d. h. der dekompilierte Text der Funktion wird angezeigt.
Js-Code:
function CallLevel(){ if (CallLevel.caller == null) alert("CallLevel was called from the top level."); else alert("CallLevel was called by another function:\n"+CallLevel.caller); } function funCaller(){ CallLevel(); } CallLevel(); funCaller()
Calee-Attribut
Gibt das ausgeführte Funktionsobjekt zurück, das den Hauptteil des angegebenen Funktionsobjekts darstellt.
[function.]arguments.callee: Der optionale Funktionsparameter ist der Name des Funktionsobjekts, das gerade ausgeführt wird.
Erklärung:
Der Anfangswert des aufgerufenen Attributs ist das ausgeführte Funktionsobjekt. Das
callee-Attribut ist ein Mitglied des Arguments-Objekts. Es stellt einen Verweis auf das Funktionsobjekt selbst dar, was hilfreich ist, um die Rekursion der
-Funktion auszublenden oder die Kapselung der Funktion sicherzustellen Beispiel berechnet rekursiv die natürlichen Zahlen von 1 bis n und. Dieses Attribut
ist nur verfügbar, wenn die zugehörige Funktion ausgeführt wird. Es sollte auch beachtet werden, dass callee ein Längenattribut hat, das manchmal
zur Überprüfung verwendet wird. arguments.length ist die tatsächliche Parameterlänge und arguments.callee.length ist die
formale Parameterlänge. Daraus können Sie beim Aufruf ermitteln, ob die formale Parameterlänge mit der tatsächlichen Parameterlänge übereinstimmt.
Js-Code:
//callee可以打印其本身 function calleeDemo() { alert(arguments.callee); } //用于验证参数 function calleeLengthDemo(arg1, arg2) { if (arguments.length==arguments.callee.length) { window.alert("验证形参和实参长度正确!"); return; } else { alert("实参长度:" +arguments.length); alert("形参长度: " +arguments.callee.length); } } //递归计算 var sum = function(n){ if (n <= 0) return 1; else return n +arguments.callee(n - 1) }
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Anwendungsbeispiele des Aufrufer-Attributs und des Aufrufer-Attributs der Javascript-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!