Il existe trois façons de déclarer des fonctions personnalisées en JavaScript, à savoir en utilisant des instructions de fonction, en utilisant des constructeurs Function() et en définissant des littéraux de fonction.
1. Instruction de fonction
En JavaScript, vous pouvez utiliser l'instruction de fonction pour déclarer des fonctions. L'utilisation spécifique est la suivante :
function funName([args]) { déclarations }
funName est le nom de la fonction qui, comme le nom de la variable, doit être un identifiant JavaScript légal. Après le nom de la fonction se trouve une liste de paramètres entre parenthèses et séparés par des virgules. Les paramètres sont facultatifs et il n’y a pas de limite quant au nombre.
En tant qu'identifiants, les paramètres ne sont accessibles que dans le corps de la fonction ; les paramètres sont des membres privés de la portée de la fonction. Lors de l'appel d'une fonction, transmettez une valeur à la fonction, puis utilisez des paramètres pour obtenir la valeur transmise en externe et intervenez dans l'exécution de la fonction dans le corps de la fonction.
Après les parenthèses se trouve une accolade, et l'instruction contenue dans l'accolade est le contenu principal de la structure du corps de la fonction. Dans le corps de la fonction, les accolades sont essentielles. Sans accolades, JavaScript générera une erreur de syntaxe.
L'exemple
d'instruction de fonction doit contenir le nom de la fonction, des parenthèses et des accolades, et d'autres codes peuvent être omis, de sorte que le corps de la fonction le plus simple est une fonction vide.
function funName() {} //Fonction vide
Si vous utilisez une fonction anonyme, vous pouvez omettre le nom de la fonction.
function () {} //
L'instruction var de fonction vide anonyme et l'instruction de fonction sont toutes deux des instructions de déclaration, et les variables et fonctions qu'elles déclarent sont analysées lorsque JavaScript est précompilé, également connu sous le nom de promotion de variable et de promotion de fonction. Pendant la période de pré-compilation, le moteur JavaScript créera un contexte pour chaque fonction, définira un objet variable et enregistrera tous les paramètres formels, variables privées et fonctions imbriquées dans la fonction en tant qu'attributs sur l'objet variable.
2. Constructeur Function()
Utilisez le constructeur Function() pour générer rapidement des fonctions. L'utilisation spécifique est la suivante :
var funName = new Function(p1, p2, ..., pn, body);
Les types de paramètres de Function() sont tous des chaînes p1~pn représente la liste des noms de paramètres de la fonction créée. et body représente les instructions de structure de fonction créées d'une fonction, séparées par des points-virgules entre les instructions de corps.
L'exemple 1
peut omettre tous les paramètres et transmettre uniquement une chaîne pour représenter le corps de la fonction.
var f = new Function ("a", "b", "return a+b"); //Clonez la structure de la fonction via le constructeur.
Dans le code ci-dessus, f est le nom de la fonction créée. La même fonction est définie et des fonctions avec la même structure peuvent être conçues à l'aide de l'instruction de fonction.
function f(a, b) { //Utiliser l'instruction de fonction pour définir la structure de la fonction return a + b; }
L'exemple 2
utilise le constructeur Function() pour créer une structure de fonction vide sans spécifier de paramètres.
var f = new Function(); //Définissez une fonction vide.
Utilisez le constructeur Function() pour créer dynamiquement des fonctions. Cela ne limite pas les utilisateurs au corps de fonction pré-déclaré par l'instruction de fonction. L'utilisation du constructeur Function() permet d'utiliser la fonction comme une expression plutôt que comme une structure, elle est donc plus flexible à utiliser. L'inconvénient est que le constructeur Function() est compilé pendant l'exécution, l'efficacité d'exécution est très faible et son utilisation n'est généralement pas recommandée.
3. Fonction anonyme (littéral de fonction)
Le littéral de fonction est également appelé fonction anonyme, c'est-à-dire que la fonction n'a pas de nom de fonction et ne contient que le mot-clé de fonction, les paramètres et le corps de la fonction. L'utilisation spécifique est la suivante :
function ([args]) { déclarations }
Exemple 1
Le code suivant définit un littéral de fonction.
function (a, b) { //Fonction littérale return a + b; }
Dans le code ci-dessus, les littéraux de fonction reviennent fondamentalement à utiliser des instructions de fonction pour définir des structures de fonctions, et leurs structures sont fixes. Cependant, la fonction littérale ne spécifie pas le nom de la fonction, mais utilise directement le mot-clé function pour représenter la structure de la fonction. Ce type de fonction est également appelé fonction anonyme.
Exemple 2
Une fonction anonyme est une expression, c'est-à-dire une expression de fonction, et non une instruction d'une structure de fonction. Ensuite, attribuez la fonction anonyme comme valeur à la variable f.
// Attribue la fonction comme valeur directement à la variable f var f = fonction (a, b) { renvoyer a + b ; };
Lorsque la structure de fonction est affectée à une variable en tant que valeur, la variable peut être appelée en tant que fonction et la variable pointe vers la fonction anonyme.
console.log(f(1,2)); //valeur de retour 3
Exemple 3
Les fonctions anonymes servent de valeurs et peuvent participer à des opérations d'expression plus complexes. Pour l'exemple ci-dessus, vous pouvez utiliser le code suivant pour terminer l'opération intégrée de définition et d'appel de fonction.
console.log( //Appelle la fonction comme opérande (function (a,b) { renvoyer a + b ; })(1, 2)); //Valeur de retour 3
Une fois qu'une fonction est définie, nous pouvons l'appeler n'importe où dans le document actuel. Appeler une fonction est très simple, il suffit d'ajouter un crochet après le nom de la fonction, comme alert(), write(). Notez que si les paramètres sont spécifiés entre parenthèses après le nom de la fonction lors de la définition de la fonction, alors les paramètres correspondants doivent être fournis entre parenthèses lors de l'appel de la fonction.
L'exemple de code est le suivant :
function sayHello(name){ document.write("Bonjour " + nom); } //Appelez la fonction sayHello() sayHello('Site Web PHP chinois');
Astuce : JavaScript est sensible à la casse, le mot-clé function doit donc être en minuscules lors de la définition d'une fonction, et la fonction doit être appelée dans la même casse que lors de sa déclaration.
Ce qui précède est une analyse approfondie de la déclaration et de l'appel des fonctions personnalisées JS. Pour plus d'informations, veuillez prêter attention aux autres articles connexes sur le site Web PHP chinois !