Maison > Article > interface Web > Comment évaluer en toute sécurité des formules de chaînes en JavaScript sans « eval() » ?
Calcul des valeurs de chaîne en JavaScript sans eval()
Problème :
De nombreux développeurs JavaScript utilisent eval () fonction pour calculer les formules stockées dans des chaînes. Cependant, eval() n'est pas sécurisé, car il peut exécuter du code arbitraire. Existe-t-il une alternative sécurisée ?
Réponse :
Oui, vous pouvez utiliser le constructeur Function() pour évaluer en toute sécurité les chaînes contenant formules.
Code :
function evil(fn) { return new Function('return ' + fn)(); } console.log(evil('12/5*9+9.4*2')); // => 40.4
Explication :
Le constructeur Function() prend une chaîne comme argument et renvoie une fonction. Le mot-clé 'return' est ajouté au début de la chaîne pour garantir que la fonction est évaluée au résultat de la formule.
Avantages :
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!