Définition de la fonction JavaScript

Les fonctions JavaScript sont définies par function mot-cléDéfinir.

Vous pouvez utiliser la fonctionLe hoisting est le processus par lequel JavaScriptou fonctionExpression

déclaration de fonction

Dans ce tutoriel, vous avez appris plus tôt par la syntaxe suivanteLe hoisting est le processus par lequel JavaScriptFonction :

function functionName(parameters) {
   Le code à exécuter
}

Les fonctions déclarées ne s'exécutent pas directement. Elles sont «enregistrées pour une utilisation ultérieure» et seront exécutées plus tard, lorsqu'elles sont appelées.

Exemple

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

Essayez-le vous-même

Le point-virgule est utilisé pour séparer les instructions JavaScript exécutables.

En raison des fonctionsLe hoisting est le processus par lequel JavaScriptNe sont pas des instructions exécutables, ne se terminent pas souvent par un point-virgule.

expressions de fonction

Les fonctions JavaScript peuvent également utiliserExpressionpour définir.

Les expressions de fonction peuvent être stockées dans une variable :

Exemple

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

Essayez-le vous-même

Après avoir stocké l'expression de la fonction dans une variable, cette variable peut être utilisée comme une fonction :

Exemple

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

Essayez-le vous-même

;Fonction anonymeFonction auto-appele anonyme

Les fonctions stockées dans une variable n'ont pas besoin de nom. Elles sont toujours appelées par le nom de la variable.

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

le constructeur Function()

Comme vous avez vu dans les exemples précédents, les fonctions JavaScript sont définies par function par les mots-clés définis.

Les fonctions peuvent également être définies par un nom Function() Function()

Exemple

de constructeurs de fonctions JavaScript intégrés pour définir.
Les fonctions JavaScript peuvent être utilisées comme valeurs :

Essayez-le vous-même

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

Exemple

Vous n'avez pas besoin réellement d'utiliser le constructeur de fonction. L'exemple suivant est également correct :
Les fonctions JavaScript peuvent être utilisées comme valeurs :

Essayez-le vous-même

var myFunction = function (a, b) {return a * b}; Dans la plupart des cas, vous pouvez éviter d'utiliser new

mot-clé.

levée de fonctions

Dans ce tutoriel, vous avez déjà appris "hoisting" (hoisting) plus tôt.Le hoisting est le processus par lequel JavaScriptDéclaration

C'est le comportement par défaut qui déplace les déclarations vers le sommet de l'ensemble d'exigences actuel.

Le hoisting s'applique aux déclarations de variables et de fonctions.

C'est pourquoi les fonctions JavaScript peuvent être appelées avant leur déclaration :
 myFunction(5);
     function myFunction(y) {
}

return y * y;

Les fonctions définies par expression ne sont pas liftées.

Fonction auto-appele

L'expression de fonction peut être utilisée comme "auto-appele".

L'expression auto-appele est appelée automatiquement (démarrée), sans appel. })

L'expression de fonction s'exécute automatiquement, si l'expression est suivie de

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

Exemple

Vous devez ajouter des parenthèses autour de la fonction pour indiquer qu'il s'agit d'une expression de fonction :
    (function () {
var x = "Hello!!";      // Je vais m'appeler moi-même})()

Essayez-le vous-même

;La fonction ci-dessus est en réalité uneFonction auto-appele anonyme

(fonction anonyme)。

Les fonctions peuvent être utilisées comme valeurs

Exemple

function myFunction(a, b) {
    return a * b;
}
Les fonctions JavaScript peuvent être utilisées comme valeurs :

Essayez-le vous-même

var x = myFunction(4, 3);

Exemple

function myFunction(a, b) {
    return a * b;
}
Les fonctions JavaScript peuvent être utilisées dans des expressions :

Essayez-le vous-même

var x = myFunction(4, 3) * 2;

Les fonctions dans JavaScript sont des objets typeof L'opérateur retourne "function"。

Mais il est préférable de décrire une fonction JavaScript en tant qu'objet.

Les fonctions JavaScript ontles attributsetLa méthode

arguments.length Retourne le nombre de paramètres reçus lorsque la fonction est appelée :

Exemple

function myFunction(a, b) {
    return arguments.length;
}

Essayez-le vous-même

toString() La méthode retourne une chaîne de caractères pour la fonction :

Exemple

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

Essayez-le vous-même

Les fonctions définies comme propriétés d'objet sont appelées méthodes d'objet.

Les fonctions conçues pour créer de nouveaux objets sont appelées constructeurs d'objets (constructeurs d'objets).

Fonction fléchée

Les fonctions fléchées permettent d'utiliser une syntaxe concise pour écrire des expressions de fonction.

Vous n'avez pas besoin de la mot-clé function, du mot-clé return et des accolades.

Exemple

// ES5
var x = function(x, y) {
  return x * y;
}
// ES6
const x = (x, y) => x * y;

Essayez-le vous-même

Les fonctions fléchées n'ont pas leur propre this. Elles ne conviennent pas à la définition de méthodes d'objet.

Les fonctions fléchées ne sont pas的提升。Elles doivent être définies avant leur utilisation.

Utiliser const est plus sûr que d'utiliser var, car l'expression de fonction est toujours une valeur constante.

Si la fonction est une seule instruction, le mot-clé return et les accolades peuvent être omis. Par conséquent, conserver cela peut être une bonne habitude :

Exemple

const x = (x, y) => { return x * y };

Essayez-le vous-même

Les versions 11 ou antérieures d'IE ne prennent pas en charge les fonctions fléchées.