Plusieurs types de fonctions sont définis en JavaScript : 1. Utilisez le mot-clé function pour définir des fonctions via des déclarations ou des expressions, et la syntaxe est "function functionName(parameters){executed code}" ; 2. Utilisez le constructeur de fonction Function() ; Constructeur.
L'environnement d'exploitation de ce tutoriel : système Windows 10, JavaScript version 1.8.5, ordinateur Dell G3.
JavaScript utilise le mot-clé function pour définir les fonctions.
La fonction peut être définie par déclaration ou elle peut être une expression.
Déclaration de fonction
Dans le tutoriel précédent, vous avez déjà compris la syntaxe de déclaration de fonction :
function functionName(parameters) { 执行的代码 }
La fonction ne sera pas exécutée immédiatement après avoir été déclarée, mais sera appelée lorsque nous en aurons besoin.
Constructeur de fonction
Le constructeur de fonction est utilisé pour créer un objet fonction. En JavaScript, en fait, chaque fonction est un objet fonction.
La syntaxe du constructeur de fonction :
new Function ([arg1[, arg2[, ...argN]],] functionBody)
arg1, arg2, ... argN sont utilisés comme noms de variables comme noms de paramètres normaux des fonctions. Ces noms de variables doivent être des chaînes représentant des variables uniques conformes à la spécification d'identification de variable JavaScript ou A. chaîne séparée par des virgules représentant plusieurs variables, telles que « x », « theValue » ou « a,b ».
functionBody Une chaîne contenant l'instruction JavaScript de la définition de la fonction.
Description
1. L'objet fonction est créé lorsque le constructeur de fonction est analysé en fonction. Cependant, cela sera moins efficace que l'utilisation de déclarations de fonctions, d'expressions de fonctions, etc., car ces fonctions sont directement analysées via le code.
2. Les paramètres de chaîne transmis au constructeur de fonction seront utilisés comme noms de paramètres variables de la fonction générée par le constructeur de fonction, et l'ordre dans lequel ils apparaissent sera utilisé comme ordre des paramètres de la fonction générée.
3. Appeler le constructeur de fonction en tant que fonction (qu'il soit modifié ou non avec le mot-clé new) a le même effet.
Exemple
// Example can be run directly in your JavaScript console // Create a function that takes two arguments and returns the sum of those arguments var adder = new Function('a', 'b', 'return a + b'); // Call the function adder(2, 6); // > 8
Les paramètres a et b sont des noms de paramètres normaux qui peuvent être utilisés dans le corps de la fonction.
La fonction générée est :
function (a,b){undefined return a+b; }
Une façon d'analyser json : var json = (new Function("return " + str))();
Le principe est le même,
La fonction générée est :
function toJson(str){undefined return str; } var str="{'a':1,'b':'abc'}"; toJson(str);
C'est-à-dire : function(){return {'a':1,'b':'abc'}}
La différence entre le constructeur de fonction et la déclaration de fonction :
La fonction créée avec le constructeur de fonction ne créera pas de fermeture dans le contexte Les packages sont toujours créés dans la portée globale lors de l'exécution de la fonction créée, ils ne peuvent utiliser que leurs propres variables locales ou variables globales, ce qui est différent d'eval.
Recommandations associées : Tutoriel d'apprentissage Javascript
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!