JavaScript -Funktion
Eigentum:
1. Argumente Objekt
2. Anrufer
Verweise auf die Funktion der Funktion vor dem Kalendar, wenn es sich um einen Code-Aufruf auf der obersten Ebene handelt,
Gibt NULL zurück (Firefox kehrt undefiniert zurück).
Hinweis: Es ist nur sinnvoll, wenn der Code ausgeführt wird
3. Länge
Deklarieren Sie die Funktion als die Anzahl der benannten Parameter (Funktionsdefinition ist die Anzahl der definierten Parameter).
4. Prototyp
Ein Objekt für Konstruktoren, Eigenschaften und Methoden, die von diesem Objekt definiert sind
Alle vom Konstruktor erstellten Objekte werden geteilt.
Verfahren:
Applay () -> Applay (this, [])
call () -> call (this, variable Parameter)
tostring ()
Argumente Objekt für JavaScript
Das Argumenteobjekt ist nur im Funktionskörper definiert. Es ist eine Reihe von Klassen (es ist ein Objekt, kein Array, sondern nur einige Eigenschaften eines Arrays).
veranschaulichen:
Wenn eine Funktion aufgerufen wird, wird für die Funktion ein Argumenteobjekt erstellt.
Die lokalen variablen Argumente initialisieren und beziehen sich automatisch auf das Argumenteobjekt (Argumente sind Verweise auf das Argumenteobjekt).
Eigenschaften dieses Objekts:
1. Callee
Verweis auf die aktuell ausführende Funktion
2. Länge
Anzahl der an die Funktion übergebenen Parameter (die Anzahl der Parameter, die tatsächlich an die Funktion übergeben wurden)
Argumente Merkmale
Das Argumenteobjekt kann nicht explizit erstellt werden, und das Argumenteobjekt ist nur verfügbar, wenn die Funktion startet. Das Argumenteobjekt einer Funktion ist kein Array, und die Art und Weise, wie Sie auf einen einzigen Parameter zugreifen, wird genauso zugegriffen, wie Sie auf die Elemente eines Arrays zugreifen. Index N ist tatsächlich einer der Parameter der 0… N -Eigenschaft des Argumenteobjekts .
In JavaScript müssen Sie keine Parameternamen angeben, um darauf zuzugreifen. wie:
Funktion hi () {if (Argumente [0] == "Andy") {return;} alert (Argumente [0]);Längenattribut von Argumenten
Bedeutung
Gibt die tatsächliche Anzahl der Parameter zurück, die durch das aufrufende Programm an die Funktion übergeben wurden.
Verwendung
[Funktion.] Argumente.Length
Wobei der optionale Funktionsparameter der Name des derzeit ausgeführten Funktionsobjekts ist.
veranschaulichen
Wenn das Funktionsobjekt ausgeführt wird, initialisiert die Skript -Engine die Länge Eigenschaft der Argumente Objekte auf die tatsächliche Anzahl der an die Funktion übergebenen Parametern.
JS wird Sie nicht aktiv beurteilen, wie viele Parameter Sie an die Funktion übergeben haben. Wenn Sie mehr bestehen, wird der Überschuss nicht verwendet. Wenn Sie weniger übergeben, ist der Parameterwert, der nicht übergeben wurde, undefiniert.
Daher können wir die Länge Eigenschaft von Argumenten verwenden, um festzustellen, ob die korrekte Anzahl der tatsächlichen Parameter beim Aufrufen der Funktion verwendet wird, da JavaScript diese Dinge nicht für Sie tut.
0 ... n Attribut von Argumenten
Bedeutung
Gibt die tatsächlichen Werte jedes Parameters in einem Argumentenobjekt zurück. Die entsprechenden Werte werden durch die Argumenteeigenschaft einer ausführenden Funktion zurückgegeben.
Verwendung
[Funktion.] Argumente [[0 | 1 | 2 | ... | n]]]
Parameter
Funktion
Optional. Der Name des derzeit ausgeführten Funktionsobjekts.
0, 1, 2,…, n
Erforderliche Option. Eine nicht negative Ganzzahl im Bereich 0 bis n, wobei 0 den ersten Parameter darstellt und N den letzten Parameter darstellt. Der Wert des letzten Parameters n ist Argumente.Length-1
veranschaulichen
Der von der 0 zurückgegebene Wert. . N Eigenschaft ist der tatsächliche Wert, der an die ausgeführte Funktion übergeben wird. Obwohl es sich nicht wirklich um eine Reihe von Parametern handelt, können Sie auf die einzelnen Parameter zugreifen, aus denen das Argumenteobjekt auf die gleiche Weise wie der Zugriff auf die Array -Elemente besteht.
Beispiel
Das folgende Beispiel zeigt die Verwendung der 0. . . N Attribut des Argumenteobjekts
Funktion argTest () {var s = ""; s += "Die einzelnen Argumente sind:" für (n = 0; n <argumente.length; n ++) {s += argTest.Argumente [n]; s += ""; } return (s);} print (argtest (1, 2, "Hallo", neues Datum ());Callee -Eigentum von Argumenten
Bedeutung
Stellt eine Referenz auf das Funktionsobjekt selbst dar, dh den Körper des angegebenen Funktionsobjekts, der der Realisierung der Rekursion der namenlosen Funktion oder der Gewährleistung der Einkapselung der Funktion förderlich ist.
Verwendung
[Funktion.] Argumente.Callee
Der optionale Funktionsparameter ist der Name des derzeit ausgeführten Funktionsobjekts.
veranschaulichen
Die Callee -Eigenschaft ist ein Mitglied des Argumenteobjekts und ist nur verfügbar, wenn die relevante Funktion ausgeführt wird.
Der Anfangswert der Callee -Eigenschaft ist das Funktionsobjekt, das ausgeführt wird. Dies ermöglicht anonyme rekursive Funktionen.
Beispiel:
Verwenden Sie eine Rekursion, um die Summe der natürlichen Zahlen von 1 bis n zu berechnen:
<Script> var sum = Funktion (n) {if (1 == n) {return 1; } else {return n + argumente.callee (n-1); }} alert (sum (100)); </script>Hier finden Sie eine Erläuterung des Funktionsfunktionsprototyps Prototyp:
Wenn ein Objekt durch einen Konstruktor initialisiert wird,
Das neue Schlüsselwort initialisiert dieses Objekt, indem Sie den Konstruktor aufrufen und das neue Objekt als Wert dieses Schlüsselworts übergeben.
Gleichzeitig legt das neue Schlüsselwort auch den Prototyp dieses Objekts fest. Der Prototyp eines Objekts ist der Wert der Prototyp -Eigenschaft seines Konstruktors.
(Zum Beispiel: a = new Date (), der Prototyp des A -Objekts ist Datum.Prototyp)
Alle Funktionen haben ein Prototypattribut. Wenn diese Funktion [definiert] ist, wird das Prototyp -Attribut automatisch erstellt und initialisiert.
Der Initialisierungswert des Prototyp -Attributs ist ein Objekt, und dieses Objekt hat nur ein Attribut, dieses Attribut ist ein Konstruktor.
Es bezieht sich auf die Rückkehr zum Konstruktor, der dem Prototyp zugeordnet ist.
Die obige kurze Diskussion über Funktionen und Argumente in JavaScript ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.