Maison > Article > interface Web > Comment appeler une fonction à partir d'un nom de fonction stocké dans une chaîne en utilisant JavaScript ?
Nous utiliserons la fonction eval() pour appeler une fonction à partir de son nom stocké dans une chaîne. Évaluer() La fonction évalue une chaîne en code JavaScript. Cela nous permet d'appeler la fonction via Passez une chaîne contenant son nom comme argument à la fonction eval().
Voici un exemple fonctionnel complet de la façon d'appeler une fonction à partir d'un nom de fonction stocké dans une chaîne à l'aide de JavaScript -
// Define the function that we want to call function sayHello() { console.log("Hello, world!"); } // Store the function name as a string let functionName = "sayHello"; // Use the `eval()` function to convert the string to a function call eval(functionName + "()");
Dans l'exemple ci-dessus, nous définissons d'abord une fonction simple appelée sayHello(), qui enregistre simplement « Hello, world ! » sur la console. Ensuite, nous définissons une variable appelée functionName qui stocke la chaîne "sayHello", qui est le nom de la fonction que nous voulons appeler.
Enfin, nous utilisons la fonction eval() pour convertir la chaîne functionName en un appel de fonction en la concaténant avec les crochets () requis pour appeler réellement la fonction.
eval() est une fonctionnalité puissante mais potentiellement dangereuse de JavaScript qui vous permet d'évaluer des chaînes tout comme le code JavaScript. L'utilisation de eval() dans le code de production n'est généralement pas recommandée car elle peut être utilisée pour exécuter du code arbitraire, ce qui peut constituer un risque pour la sécurité.
Il convient de mentionner qu'il existe des moyens plus sûrs d'appeler une fonction à partir de son nom stocké dans une chaîne sans utiliser eval, comme -
let functionName = "sayHello"; let functionObj = window[functionName]; functionObj();
ou
let functionName = "sayHello"; let functionObj = window['sayHello']; functionObj();
Ces alternatives sont plus sûres que l'utilisation de eval car elles n'exécutent pas de code arbitraire mais font référence à la fonction directement par son nom.
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!