Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Studiennotizen (4) Funktionsfunktion Teil_Grundkenntnisse

JavaScript-Studiennotizen (4) Funktionsfunktion Teil_Grundkenntnisse

WBOY
WBOYOriginal
2016-05-16 16:34:541062Durchsuche

Eine Funktion ist ein ereignisgesteuerter oder wiederverwendbarer Codeblock, der ausgeführt wird, wenn er aufgerufen wird.
Jscript unterstützt zwei Arten von Funktionen: Eine ist die interne Funktion der Sprache (z. B. eval ()) und die andere wird von Ihnen selbst erstellt.

Eine innerhalb einer JavaScript-Funktion (mit var) deklarierte Variable ist eine lokale Variable, daher kann nur innerhalb der Funktion auf sie zugegriffen werden. (Der Gültigkeitsbereich dieser Variablen ist lokal).

Sie können lokale Variablen mit demselben Namen in verschiedenen Funktionen verwenden, da nur die Funktion, in der die Variable deklariert ist, die Variable erkennt.

So rufen Sie Funktionen auf

1. Gewöhnlicher Aufruf: Funktionsname (aktuelle Parameter...)

2. Aufruf über eine Variable, die auf die Funktion zeigt:

var myVar = Funktionsname;

myVar(aktueller Parameter...);

Funktion, die eine Funktion zurückgibt

 1. Wenn eine Funktion keinen eindeutigen Rückgabewert hat, ist der zurückgegebene Wert „undefiniert“.

 2. Wenn eine Funktion einen Rückgabewert hat, wird der Rückgabewert zurückgegeben.

Mit der return-Anweisung können wir eine Funktion an die Stelle zurückbringen, an der sie aufgerufen wurde.

Bei Verwendung der Return-Anweisung stoppt die Funktion die Ausführung und gibt den angegebenen Wert zurück.

Funktionen geben normalerweise einen eindeutigen Wert zurück, daher kann dieser Wert auch eine andere Funktion sein:

Code kopieren Der Code lautet wie folgt:


Hier weisen wir einfach den Rückgabewert einer Variablen zu und rufen ihn dann wie eine normale Funktion auf:

Code kopieren Der Code lautet wie folgt:


Wenn Sie möchten, dass die zurückgegebene Funktion sofort ausgeführt wird, können Sie diesen Code auch mit box()() ausführen.

Die Parameter aller ECMAScript-Funktionen werden als Wert übergeben, was bedeutet, dass die Parameter nicht als Referenz übergeben werden.

PS: Bei einer Referenzübergabe ist die Variable in der Funktion eine globale Variable und kann auch extern aufgerufen werden.

(1) Werttyp: numerischer Wert, boolescher Wert, null, undefiniert.
(2) Referenztyp: Objekt, Array, Funktion.

Referenztypwert: Bezieht sich auf die im Heapspeicher gespeicherten Objekte, was bedeutet, dass das, was in der Variablen gespeichert wird, tatsächlich nur ein Zeiger ist, der eine andere Stelle im Speicher ausführt und das Objekt an dieser Stelle gespeichert wird 🎜 > Anonyme Funktion erstellen

Code kopieren Der Code lautet wie folgt:
function(){
return ‚Lee‘; //Eine separate anonyme Funktion kann nicht ausgeführt werden, auch wenn sie ausgeführt werden kann, kann sie nicht aufgerufen werden, da sie keinen Namen hat
}

Diese Art von anonymer Funktion hat in JQuery viele Verwendungsmöglichkeiten. Deklarieren Sie eine anonyme Funktion direkt und verwenden Sie sie sofort. Der Vorteil der Verwendung anonymer Funktionen besteht darin, dass Sie keine Funktion definieren müssen, die nur einmal verwendet wird, und dass dadurch auch das Problem von Namenskonflikten vermieden wird. Daher gibt es in js kein Namespace-Konzept Im Falle eines Namenskonflikts hat der zuletzt deklarierte Name Vorrang.

Führen Sie eine anonyme Funktion per Selbstausführung aus:

Code kopieren Der Code lautet wie folgt:
//Anonyme Funktion durch Selbstausführung ausführen


Weisen Sie den Rückgabewert der Selbstausführung der anonymen Funktion einer Variablen zu:

Code kopieren Der Code lautet wie folgt:

// Weisen Sie der Variablen den Rückgabewert der Selbstausführung der anonymen Funktion zu



Übergabe von Parametern an eine selbstausführende anonyme Funktion:

Code kopieren Der Code lautet wie folgt:
//Parameter einer selbstausführenden anonymen Funktion übergeben



Javascript erstellt eine dynamische Funktion:

JavaScript unterstützt die Erstellung dynamischer Funktionen. Dynamische Funktionen müssen mithilfe von Funktionsobjekten definiert werden (Funktion ist ein Objekt in JavaScript und fest. Es ist festgelegt, dass das „F“ des Funktionsobjekts groß geschrieben werden muss. Wenn es ein ist Wir wissen, dass es sich bei der Funktion um ein Schlüsselwort handelt, das beim Definieren einer Funktion verwendet wird: function funName(x, y), wenn es sich um eine Funktion handelt (wenn F groß geschrieben wird), wissen wir, dass es sich um ein Objekt in JavaScript handelt)

Das Grundformat zum Erstellen einer dynamischen Funktion: var variable name = new Function("Parameter 1", "Parameter 2", "Parameter n", "Ausführungsanweisung"); Schauen Sie sich den folgenden Code an:


Code kopieren Der Code lautet wie folgt:



Quadrat ist eine dynamisch erstellte Funktion. Jeder Teil des Inhalts in den Klammern nach dem Funktionsobjekt muss in Zeichenfolgenform vorliegen, das heißt, er muss in Anführungszeichen ("" oder '') eingeschlossen sein
Dieser Code:

var quadrat = neue Funktion ("x", "y", "var sum ; sum = x y;return sum;");

und den folgenden Code:


Code kopieren Der Code lautet wie folgt: Funktion Quadrat (x,y){
        var sum;
          sum = x y;
           Rückgabesumme;
}



sind genau gleich, außer dass es sich bei einer um eine dynamische Funktion und bei der anderen um eine statische Funktion handelt.
Warum sollten wir den Code in kleine Codeteile aufteilen? Der Vorteil der Aufteilung einer Zeichenfolge in mehrere unabhängige Zeichenfolgen besteht darin, dass wir die Funktion der Funktion jederzeit ändern können, indem wir einige der Zeichenfolgen ändern.

Rückruffunktion

Callback ist der Aufrufvorgang einer Funktion. Beginnen wir also damit, diesen Aufrufprozess zu verstehen. Funktion a hat einen Parameter, nämlich Funktion b. Wenn Funktion a ausgeführt wird, wird Funktion b ausgeführt. Dann wird dieser Vorgang als Rückruf bezeichnet.

Tatsächlich ist Chinesisch auch leicht zu verstehen: Rückruf, Rückruf, bedeutet Rückruf. Beenden Sie Funktion a im Voraus und rufen Sie Funktion b später auf.

Eines muss hier klar sein: Funktion b wird in Form eines Parameters an Funktion a übergeben, dann wird Funktion b als Callback-Funktion bezeichnet.

Die meisten Effektfunktionen in jquery beinhalten Rückruffunktionen. JQuery-Effektfunktion

Zum Beispiel:


Code kopieren Der Code lautet wie folgt:


Die Callback-Funktion kann hier durch ein Beispiel ersetzt werden:

Code kopieren Der Code lautet wie folgt:


Rückruf bedeutet eigentlich, dass nach Ausführung einer Funktion die aktuell ausgeführte Funktion die sogenannte Rückruffunktion ist. Wie wäre es damit? Es ist leicht zu verstehen...

Der Unterschied zwischen Methoden und Funktionen

Code kopieren Der Code lautet wie folgt:

var arr = [1,2,3,4,5]
var a =12; // Variable: frei
arr.a= 5; //Attribut: Gehört zu einem Objekt
Funktion show() //Funktion: Kostenlos
{
​​alert(‘a’);
}
arr.fn = function() //Methode: Gehört zu einem Objekt
{
alarm(‘b’);
}

Tatsächlich sind Methoden Funktionen, aber Methoden sind Objekte, zu denen sie gehören.

Wie wir alle wissen, bindet man eine Funktion an das Klickereignis
Syntax:

$(selector).click(function)
Parameterbeschreibung
Funktion ist optional. Gibt eine Funktion an, die ausgeführt werden soll, wenn ein Klickereignis auftritt.
Dieses Formular wird häufig in JQuery verwendet. Es verwendet die Funktion als Parameter der Methode und fügt der Methode eine Ereignisbehandlungsfunktion hinzu.

js globale Funktion

Globale Funktionen sind nicht dasselbe Konzept wie die Eigenschaften oder Methoden integrierter Objekte. Globale Funktionen gehören zu keinem integrierten Objekt.
JavaScript enthält die folgenden 7 globalen Funktionen, die zur Vervollständigung einiger allgemeiner Funktionen verwendet werden:

escape( ), eval( ), isFinite( ), isNaN( ), parseFloat( ),
parseInt( ), unescape( ).
Mehrere Funktionen von Funktionen

Wird als Klassenkonstruktor verwendet

Code kopieren Der Code lautet wie folgt:

Funktionsklasse(){}
class.prototype={};
var item=new class();

Als Verschluss verwenden

Code kopieren Der Code lautet wie folgt:

(function(){
//Unabhängiger Bereich
})();

Aufruf als Konstruktor

Die sogenannte Konstruktorfunktion besteht darin, über diese Funktion ein neues Objekt zu generieren.

Code kopieren Der Code lautet wie folgt:




Objekte können mit dem neuen Operator in Verbindung mit vordefinierten Konstruktoren wie Object(), Date() und Function() erstellt und initialisiert werden. Eine leistungsstarke Funktion der objektorientierten Programmierung ist die Möglichkeit, benutzerdefinierte Konstruktoren zu definieren, um benutzerdefinierte Objekte zur Verwendung in Skripten zu erstellen. Es wurde ein benutzerdefinierter Konstruktor erstellt, damit Objekte mit definierten Eigenschaften erstellt werden können. Nachfolgend finden Sie ein Beispiel für eine benutzerdefinierte Funktion (beachten Sie die Verwendung des Schlüsselworts this).

Funktion Kreis (xPoint, yPoint, Radius) {
This.x = xPoint; // Die x-Koordinate des Kreismittelpunkts.
This.y = yPoint; // Die y-Koordinate des Kreismittelpunkts.
This.r = radius; // Der Radius des Kreises.
}

Geben Sie beim Aufrufen des Kreiskonstruktors den Wert des Mittelpunkts und des Radius des Kreises an (alle diese Elemente sind erforderlich, um ein eindeutiges Kreisobjekt vollständig zu definieren). Letztendlich enthält das Circle-Objekt drei Eigenschaften. So instanziieren Sie ein Circle-Objekt.

var aCircle = new Circle(5, 11, 99);
Der Vorteil der Verwendung einer Konstruktorfunktion besteht darin, dass sie beim Erstellen eines Objekts einige Parameter empfangen kann.

Code kopieren Der Code lautet wie folgt:



Konventionell sollten wir den ersten Buchstaben einer Konstruktorfunktion groß schreiben, um sie von gewöhnlichen Funktionen zu unterscheiden.

Die folgenden zwei Formen der Definition von Funktionen sind äquivalent.

Code kopieren Der Code lautet wie folgt:


Ein Variablentest ist hier klar definiert und sein Anfangswert wird einer Funktionsentität zugewiesen

Code kopieren Der Code lautet wie folgt:


Sehen Sie sich die folgende definierte Funktionsform an:

Code kopieren Der Code lautet wie folgt:


Offensichtlich hat die erste Funktion nicht funktioniert. Es ist seltsam, nicht wahr? Wir wissen, dass die JavaScript-Parsing-Engine den Code nicht Zeile für Zeile, sondern Abschnitt für Abschnitt ausführt. Bei der Analyse und Ausführung desselben Programms werden die definierten Funktionsanweisungen zuerst ausgeführt, sodass die Codelogik der ersten Definition durch die zweite überschrieben wurde. Wenn also dieselbe Funktion zweimal aufgerufen wird, wird nur die zweite ausgeführt hingerichtet.

Funktion als Wert

Funktion ist nicht nur eine Syntax in js, sondern auch ein Wert. Das heißt, die Funktion kann einer Variablen zugewiesen, in einer Eigenschaft eines Objekts oder einem Element eines Arrays gespeichert und als Parameter an eine andere Funktion übergeben werden.
Der Name der Funktion ist eigentlich unsichtbar, es handelt sich lediglich um den Namen der Variablen, die auf das Funktionsobjekt

verweist

Code kopieren Der Code lautet wie folgt:


Zusätzlich zum Zuweisen von Funktionen zu Variablen können Sie Funktionen auch zu Attributen von Objekten zuweisen. Wenn eine Funktion als Attribut eines Objekts aufgerufen wird, wird die Funktion als Methode

bezeichnet

Code kopieren Der Code lautet wie folgt:


Prototypenattribut

Jede Funktion enthält das Prototypattribut, das auf einen Verweis auf ein Objekt verweist. Dieses Objekt wird als Prototypobjekt bezeichnet.
Einzelheiten finden Sie unter: JavaScript-Studiennotizen (5) Prototyp und Prototypenkette

Funktionen höherer Ordnung

Die Funktion höherer Ordnung ist hier nicht die Funktion höherer Ordnung in der höheren Mathematik. Die sogenannte Funktion höherer Ordnung ist eine Funktion, die eine oder mehrere Funktionen als Parameter empfängt und eine neue Funktion zurückgibt

Stellungnahme:
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