Neueste Web-Entwicklung Tutorials
 

JavaScript Funktionsdefinitionen


JavaScript - Funktionen werden mit der definierten function Schlüsselwort.

Sie können eine Funktionsdeklaration oder einen Funktionsausdruck verwenden.


Funktionsdeklarationen

Früher in diesem Tutorial haben Sie gelernt , dass Funktionen mit folgender Syntax deklariert werden:

function functionName ( parameters ) {
  code to be executed
}

Erklärt Funktionen werden nicht sofort ausgeführt. Sie werden "für die spätere Verwendung gespeichert", und wird später ausgeführt werden, wenn sie aufgerufen werden (aufgerufen).

Beispiel

function myFunction(a, b) {
    return a * b;
}
Versuch es selber "

Semikolons verwendet ausführbare JavaScript-Anweisungen zu trennen.
Da eine Funktionsdeklaration nicht eine ausführbare Anweisung ist, ist es nicht üblich , es mit einem Semikolon zu beenden.


Funktionsausdrücke

Eine JavaScript - Funktion kann auch einen Ausdruck definiert werden.

Ein Funktionsausdruck kann in einer Variablen gespeichert werden:

Beispiel

var x = function (a, b) {return a * b};
Versuch es selber "

Nachdem ein Funktionsausdruck ist in einer Variablen gespeichert worden ist, kann die Variable als eine Funktion verwendet werden:

Beispiel

var x = function (a, b) {return a * b};
var z = x(4, 3);
Versuch es selber "

Die Funktion oben ist eigentlich eine anonyme Funktion (eine Funktion ohne Namen).

Funktionen in Variablen gespeichert keine Funktionsnamen müssen. Sie sind immer aufgerufen (genannt) den Variablennamen verwenden.

Die Funktion oben endet mit einem Semikolon, weil es ein Teil einer ausführbaren Anweisung ist.


Die Function() Constructor

Wie Sie in den vorherigen Beispielen gesehen haben, JavaScript - Funktionen mit der definierten function Schlüsselwort.

Die Funktionen können auch mit einem integrierten JavaScript - Funktion Konstruktor aufgerufen definiert werden Function() .

Beispiel

var myFunction = new Function("a", "b", "return a * b");

var x = myFunction(4, 3);
Versuch es selber "

Sie haben tatsächlich die Funktion Konstruktor zu verwenden. Das obige Beispiel ist dasselbe wie Schreiben:

Beispiel

var myFunction = function (a, b) {return a * b};

var x = myFunction(4, 3);
Versuch es selber "

Die meiste Zeit, können Sie mit der Vermeidung von new Schlüsselwort in JavaScript.


Function Hoisting

Früher in diesem Tutorial haben Sie gelernt , über "hoisting" .

Hissen ist das Standardverhalten von JavaScript von Erklärungen an die Spitze des aktuellen Bereichs bewegen.

Hissen gilt für Variablendeklarationen und Funktionsdeklarationen.

Aus diesem Grund können JavaScript-Funktionen aufgerufen werden, bevor sie deklariert sind:

myFunction(5);

function myFunction(y) {
    return y * y;
}

Funktionen mit einem Ausdruck nicht definiert sind gehisst.


Selbst aufrufen Funktionen

Funktionsausdrücke können "selbst auslösenden" gemacht werden.

Ein selbst Aufruf Ausdruck aufgerufen wird (gestartet) automatisch, ohne genannt zu werden.

Funktionsausdrücke wird automatisch ausgeführt , wenn der Ausdruck gefolgt von () .

Sie können keine Funktionsdeklaration selbst aufrufen.

Sie müssen Klammern um die Funktion hinzufügen, um anzuzeigen, dass es sich um eine Funktion Ausdruck:

Beispiel

(function () {
    var x = "Hello!!";      // I will invoke myself
})();
Versuch es selber "

Die Funktion oben ist eigentlich ein anonymer Selbst Aufruf (Funktion ohne Namen).


Funktionen können als Werte

JavaScript-Funktionen können als Werte verwendet werden:

Beispiel

function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3);
Versuch es selber "

JavaScript-Funktionen können in Ausdrücken verwendet werden:

Beispiel

function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3) * 2;
Versuch es selber "

Die Funktionen sind Objekte

Der typeof Operator in JavaScript gibt "function" für Funktionen.

Aber können JavaScript-Funktionen am besten als Objekte beschrieben werden.

JavaScript - Funktionen haben beide Eigenschaften und Methoden.

Die arguments.length Eigenschaft gibt die Anzahl der Argumente erhalten, wenn die Funktion aufgerufen wurde:

Beispiel

function myFunction(a, b) {
    return arguments.length;
}
Versuch es selber "

Die toString() Methode gibt die Funktion als String:

Beispiel

function myFunction(a, b) {
    return a * b;
}

var txt = myFunction.toString();
Versuch es selber "

Eine Funktion als die Eigenschaft eines Objektes definiert ist, wird ein Verfahren zum Objekt bezeichnet.
Eine Funktion entwickelt, um neue Objekte zu erstellen, wird ein Objekt-Konstruktor aufgerufen.