Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

SyntaxError: Malformed formal parameter

Message

SyntaxError: malformed formal parameter (Firefox)

Type d'erreur

SyntaxError

Quel est le problème ?

La méthode Function() a été utilisée avec au moins deux arguments. Le dernier argument correspond au code source de la nouvelle fonction qui est créée. Les autres arguments sont la liste des arguments passés à la fonction.

C'est cette liste d'arguments qui est, pour une certaine raison, invalide. Il s'agit peut-être d'un mot-clé (if ou var par exemple) utilisé comme un nom d'argument, ou d'un signe de ponctuation mal placé. Il peut également s'agir d'une valeur invalide comme un nombre ou un objet.

OK mais pourquoi cette formulation étrange ?

En effet, "Formal parameter" est une manière étrange de dire  « argument de fonction ». Le mot "malformed" (malformé) est utilisé car les ingénieurs travaillant sur Firefox engineers apprécient énormément les romans gothiques du XIXe.

Examples

Exemples invalides

var f = Function("x y", "return x + y;");  
// SyntaxError (virgule manquante)

var f = Function("x,", "return x;");  
// SyntaxError (virgule mal placée)

var f = Function(37, "console.log('OK')");
// SyntaxError (des nombres ne peuvent être des noms)

Exemples valides

 // Ponctuation correcte
var f = Function("x, y", "return x + y;");

var f = Function("x", "return x;");

// Voici une alternative plus rapide 
// si vous pouvez éviter Function
var f = function (x) { return x; };

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,