Derniers tutoriels de développement web
 

JavaScript Définitions des fonctions


Fonctions JavaScript sont définies avec la function mot - clé.

Vous pouvez utiliser une déclaration de fonction ou une expression de fonction.


Déclarations de fonction

Plus tôt dans ce tutoriel, vous avez appris que les fonctions sont déclarées avec la syntaxe suivante:

function functionName ( parameters ) {
  code to be executed
}

Les fonctions déclarées ne sont pas exécutées immédiatement. Ils sont "enregistrés pour une utilisation ultérieure", et seront exécutés plus tard, quand ils sont invoqués (appelés).

Exemple

function myFunction(a, b) {
    return a * b;
}
Essayez - le vous - même »

Les points-virgules sont utilisés pour séparer les instructions JavaScript exécutables.
Depuis une déclaration de fonction est pas une instruction exécutable, il est commun d' en finir avec un point - virgule.


Expressions de fonction

Une fonction JavaScript peut également être définie à l' aide d' une expression.

Une expression de fonction peut être stockée dans une variable:

Exemple

var x = function (a, b) {return a * b};
Essayez - le vous - même »

Après une expression de fonction a été enregistrée dans une variable, la variable peut être utilisée en fonction:

Exemple

var x = function (a, b) {return a * b};
var z = x(4, 3);
Essayez - le vous - même »

La fonction ci - dessus est en fait une fonction anonyme (une fonction sans nom).

Fonctions stockées dans des variables ne nécessitent pas les noms de fonctions. Ils sont toujours invoquées (appelé) en utilisant le nom de la variable.

La fonction ci-dessus se termine par un point-virgule, car il est une partie d'une instruction exécutable.


La Function() Constructor

Comme vous l' avez vu dans les exemples précédents, les fonctions JavaScript sont définies avec la function mot - clé.

Les fonctions peuvent également être définis avec un haut-JavaScript constructeur de fonction appelée Function() .

Exemple

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

var x = myFunction(4, 3);
Essayez - le vous - même »

Vous ne devez pas réellement utiliser le constructeur de fonction. L'exemple ci-dessus est le même que l'écriture:

Exemple

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

var x = myFunction(4, 3);
Essayez - le vous - même »

La plupart du temps, vous pouvez éviter d' utiliser le new mot - clé dans JavaScript.


Function Hoisting

Plus tôt dans ce tutoriel, vous avez appris sur "hoisting" .

Levage est le comportement par défaut de JavaScript de déplacer les déclarations au sommet de la portée actuelle.

Hisser applique aux déclarations de variables et de déclarations de fonctions.

De ce fait, les fonctions JavaScript peuvent être appelés avant qu'ils ne soient déclarés:

myFunction(5);

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

Fonctions définies à l'aide d'une expression ne sont pas hissés.


Fonctions auto-Invoquer

Les expressions de fonction peuvent être faites "auto-invocation".

Une expression de l'auto-invocation est invoqué (commencé) automatiquement, sans être appelé.

Les expressions de fonction exécutera automatiquement si l'expression est suivie par () .

Vous ne pouvez pas auto-invoquer une déclaration de fonction.

Vous devez ajouter des parenthèses autour de la fonction pour indiquer qu'elle est une expression de fonction:

Exemple

(function () {
    var x = "Hello!!";      // I will invoke myself
})();
Essayez - le vous - même »

La fonction ci - dessus est en fait une fonction d'auto-invocation anonyme (fonction sans nom).


Les fonctions peuvent être utilisées comme valeurs

fonctions JavaScript peuvent être utilisés en tant que valeurs:

Exemple

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

var x = myFunction(4, 3);
Essayez - le vous - même »

fonctions JavaScript peuvent être utilisés dans les expressions:

Exemple

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

var x = myFunction(4, 3) * 2;
Essayez - le vous - même »

Les fonctions sont des objets

Le typeof opérateur JavaScript retourne "function" pour les fonctions.

Mais, les fonctions JavaScript peuvent être décrits comme des objets.

Fonctions JavaScript ont deux propriétés et méthodes.

La propriété arguments.length renvoie le nombre d'arguments reçus lorsque la fonction a été invoquée:

Exemple

function myFunction(a, b) {
    return arguments.length;
}
Essayez - le vous - même »

Le toString() méthode renvoie la fonction comme une chaîne:

Exemple

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

var txt = myFunction.toString();
Essayez - le vous - même »

Une fonction définie comme étant la propriété d'un objet, est appelée une méthode à l'objet.
Une fonction conçue pour créer de nouveaux objets, est appelé un constructeur de l'objet.