Die Schlüsselwortfunktion wird verwendet, um eine Funktion zu definieren.
Die Codekopie lautet wie folgt:
// Funktionsdeklarative Definition:
Funktionsfunktionsname ([arg1 [, args [..., argn]]]) {
Aussagen
}
// Funktionsausdrucksdefinition:
var funcname = function ([arg1 [, args [..., argn]]]) {
Aussagen
};
Beachten Sie, dass lockige Klammern in Funktionsanweisungen erforderlich sind, auch wenn die Funktionsbehörde nur eine Anweisung enthält.
In JavaScript sind Funktionen spezifische Instanzen der Funktionsklasse. Und sie alle haben Eigenschaften und Methoden wie andere Referenztypen.
Der Funktionsname ist tatsächlich ein Zeiger auf das Funktionsobjekt, und die Funktion kann als Parameter verwendet werden, um am Parameterübertragungs- und Rückgabewert teilzunehmen.
Objekteigenschaften von Funktionen
Da eine Funktion eine Instanz einer Funktion ist, ist der Funktionsname nur eine Referenzadresse dieser Instanz. Daher kann es als Parameter und Rückgabewerte im Parameterübertragungsprozess der Funktion verwendet werden.
Die Codekopie lautet wie folgt:
Funktion call_some_function (SOLE_FUNCTION, SOLE_ARGUMENT) {
return son_function (seltsam_argument);
}
Funktion add_10 (num) {
Rückgabe num + 10;
}
console.log (call_some_function (add_10,20)); // 30
Interne Eigenschaften einer Funktion
Argumente | Das
• Das Argumenteobjekt hält die an die Funktion übergebenen Parameter
• Argumente.Length gibt die Anzahl der eingehenden Parameter zurück
• Hinweis: Das Längenattribut repräsentiert die Anzahl der standardmäßigen Parameter, die standardmäßig empfangen werden, wenn die Funktion definiert ist. Argumente.Length repräsentiert die Anzahl der empfangenen Parameter, wenn die Funktion tatsächlich ausgeführt wird.
Die Codekopie lautet wie folgt:
Funktion test_arguments () {
if (Argumente.length == 2) {
console.log (Argumente.length);
console.log (Argumente);
} anders {
console.log (Argumente.length);
console.log (Argumente);
Argumente.Callee (4, 5);
};
} (1, 2, 3)
/**
3
{'0': 1, '1': 2, '2': 3}
2
{'0': 4, '1': 5}
**//
• Argumente.Callee () wird hauptsächlich in der Situation verwendet, in der die Funktion selbst in rekursiven Funktionen aufgerufen wird. Der Unterschied zwischen JS und anderen Sprachen besteht darin, dass der Funktionsname nur ein Zeiger ist und jederzeit geändert werden kann. Der Funktionsname in der Funktion ist stark gekoppelt, was zu Problemen führen kann, und der Aufruf an Argumente.Callee () selbst wird dieses Problem vermeiden.
Die Codekopie lautet wie folgt:
Funktionsfaktor (num) {
if (num <= 1) {
Rückkehr 1;
} anders {
return num * factorial (num - 1);
};
}
Funktion callee_f (num) {
if (num <= 1) {
Rückkehr 1;
} anders {
return num * argumente.callee (num - 1);
};
}
Faktor (10); // normal arbeiten
f = faktorial;
factorial = null;
F (10); //Fehler
Callee_f (10); // normal arbeiten
f = Callee_f;
callee_f = null;
F (10); // normal arbeiten
• Dies wird hauptsächlich verwendet, um Funktionen zu helfen, sich auf Objekte im Bereich der Funktion zu beziehen.
Die Codekopie lautet wie folgt:
var color = 'rot';
Funktion Syacolor () {
console.log (this.color);
}
syacolor (); //Rot
var o = neues Objekt ();
O.Color = 'Blue';
O.SayColor = SayColor;
O.SayColor (); //Blau
call () und bewerben Sie ()
call () und anwenden () sind eigene Methoden, die jede Funktion enthält. Es wurde bereits erwähnt, dass Funktionen definierte Objekte sind. Bei Aufrufen von Funktionen ist dies in der Funktion ein Aufruf der aktuellen und niedrigeren Variablen. Wenn Sie den Domänenraum ändern möchten, in dem die Funktion ausgeführt wird, können Sie Call () und anwenden () verwenden, um ihn zu implementieren.
Die Codekopie lautet wie folgt:
color = 'rot';
var o = {color: 'blau'};
Funktion sageColor () {
console.log (this.color);
}
SayColor (); //Rot
saycolor.call (this); //Rot
saycolor.call (o); //Blau
Die Funktionen von app () und call () sind gleich, und der Unterschied besteht hauptsächlich in den Unterschied in den eingehenden Parametern.
Rufen Sie auf (this this, para1, prar2, prar3) Der erste Parameter ist der Umfang der zu ausgeführten Funktion. Der nachfolgende Parameter ist der Eingabeparameter der Funktion, und es gibt so viele Male nacheinander.
anwenden (dies, [para1, para2, prara3]) Der erste Parameter ist auch der Umfang der zu ausgeführten Funktion, gefolgt von einem Array -Array -Objekt.
Der größte Vorteil der Verwendung von CALL ()/anwenden () zur Erweiterung des Umfangs ist die Entkopplung von Objekten und Methoden.
Integrierte Objekte
Globale Objekte können als das äußerste Objekt verstanden werden, alle Objekte sowie Attribute und Methoden, die nicht zu anderen Objekten gehören, sind in das globale Objekt einbezogen.
* ISNAN (x) wird verwendet, um zu überprüfen, ob der Parameter x eine Zahl ist. Wenn FALSE für eine Zahl zurückgegeben wird, geben Sie ansonsten true zurück
* Isfinite (x) wird verwendet, um zu überprüfen, ob der Parameter x unendlich/klein ist. Wenn es unendlich/klein ist, kehrt es wahr zurück.
* ParseInt (x) wird verwendet, um Saiten zu analysieren und Ganzzahlen zurückzugeben
* Parsefloat (x) wird verwendet, um Saiten zu analysieren und schwimmende Punktzahlen zurückzugeben
* Encodeuri () und Encodeuricomponent () werden spezielle UTF-8-Codierung in der Zeichenfolge durchführen, um einige Sonderzeichen zu vermeiden, damit der Browser verstehen. Der Hauptunterschied zwischen ihnen besteht darin, dass Encodeuri () keine speziellen Zeichen codiert, die zur URI gehören, während coduricomponent () alle nicht standardmäßigen Zeichen codiert, die es findet.
Die Codekopie lautet wie folgt:
var uri = "http://www.wrox.com/illegal value.htm#start";
//http://www.wrox.com/illegal%20Value.htm#start
console.log (Encodeuri (URI))
//http%3a%2f%2fwww.wrox.com%2Fillegal%20Value.htm%23Start
console.log (Encodeuricomponent (URI))
• Die entsprechenden Dekodierungsfunktionen sind Decodeuri () und Decodeuricomponent ()
• Eval (Skript) wird verwendet, um Skriptinhalte im Interpreter auszuführen und das entsprechende Ergebnis zurückzugeben. Sehr mächtig!
Hinweis: Im Browser verkapulieren Windows -Objekte globale Objekte und übernehmen viele zusätzliche Aufgaben und Funktionen.
Das Mathematikobjekt ist ein weiteres integriertes Objekt. Bietet mathematische Berechnungsfunktionen für JavaScript.
Das obige dreht sich alles um diesen Artikel. Ich hoffe es gefällt euch und es wird Ihnen hilfreich sein.