Heim > Web-Frontend > js-Tutorial > Einführung und Beispiele für Anrufer- und Angerufene-Attribute in js_Grundkenntnisse

Einführung und Beispiele für Anrufer- und Angerufene-Attribute in js_Grundkenntnisse

WBOY
Freigeben: 2016-05-16 16:45:35
Original
1815 Leute haben es durchsucht

1. Anrufer

Gibt einen Verweis auf die Funktion zurück, die die aktuelle Funktion aufgerufen hat.

functionName.caller

Das functionName-Objekt ist der Name der ausgeführten Funktion.

Beschreibung

Bei Funktionen wird das Aufruferattribut erst definiert, wenn die Funktion ausgeführt wird. Wenn die Funktion von der obersten Ebene eines Javascript-Programms aufgerufen wird, enthält der Aufrufer null .

Das folgende Beispiel veranschaulicht die Verwendung des Anruferattributs:

Code kopieren Der Code lautet wie folgt:

function callerDemo() {
if ( arguments. caller) {
var a= callerDemo.caller.toString();
warning(a);
} else {
warning("this is a top function");
🎜 >
}
calleeDemo();




2. Angerufener

Gibt das ausgeführte Funktionsobjekt zurück, das den Hauptteil des angegebenen Funktionsobjekts darstellt.

[function.]arguments.callee
Optionaler Funktionsparameter ist der Name des Funktionsobjekts, das gerade ausgeführt wird. Beschreibung

Der Anfangswert des aufgerufenen Attributs ist das ausgeführte Funktionsobjekt.

Das aufgerufene Attribut ist ein Mitglied des Argumentobjekts, das einen Verweis auf das Funktionsobjekt selbst darstellt. Dies ist vorteilhaft für die Rekursion anonymer Funktionen oder um die Kapselung von Funktionen sicherzustellen Summe der natürlichen Zahlen von 1 bis n. Diese Eigenschaft ist nur verfügbar, wenn die zugehörige Funktion ausgeführt wird. Es sollte auch beachtet werden, dass callee ein Längenattribut hat, was manchmal zur Überprüfung besser ist. arguments.length ist die tatsächliche Parameterlänge und arguments.callee.length ist die formale Parameterlänge. Daraus können Sie ermitteln, ob die formale Parameterlänge während des Aufrufs mit der tatsächlichen Parameterlänge übereinstimmt.

Beispiel

Code kopieren

Der Code lautet wie folgt:

function calleeLengthDemo(arg1, arg2) {
if (arguments.length==arguments .callee .length) {
          window.alert("Überprüfen Sie, ob die formalen und tatsächlichen Parameterlängen korrekt sind!");
          return; ;
warning("Formale Parameterlänge: " arguments.callee.length );
}
}
//Rekursive Berechnung
var sum = function(n){
if ( n < = 0)                                                                                                                                                                                             .




Code kopieren


Der Code lautet wie folgt:



var sum = function(n){
if (1==n) return 1;
else return n sum (n-1);

Beim Anruf: alarm(sum(100));

Die Funktion enthält einen Verweis auf sum selbst. Der Aufruf von sum innerhalb der Funktion entspricht nicht genau dem Aufruf von Die Verwendung von callee wäre eine bessere Methode.
Verwandte Etiketten:
js
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage