Maison > interface Web > js tutoriel > Comment exécuter un appel de fonction à partir d'une chaîne en JavaScript ?

Comment exécuter un appel de fonction à partir d'une chaîne en JavaScript ?

DDD
Libérer: 2024-10-27 12:17:30
original
780 Les gens l'ont consulté

How to Execute a Function Call from a String in JavaScript?

Invoquer un appel de fonction à partir d'une chaîne

En JavaScript, il est possible de convertir une chaîne représentant un appel de fonction en un véritable appel de fonction . Considérons le cas où nous avons une chaîne comme :

"clickedOnItem(" + t.parentNode.id + ")"
Copier après la connexion

que nous voulons traduire en appel de fonction :

clickedOnItem(IdofParent);
Copier après la connexion

Pour y parvenir, nous pouvons utiliser l'approche suivante :

<code class="javascript">var fn = window[settings.functionName];
if(typeof fn === 'function') {
    fn(t.parentNode.id);
}</code>
Copier après la connexion

Dans cet extrait, nous récupérons d'abord la référence de fonction de l'objet window en utilisant la chaîne stockée dans settings.functionName. Si la fonction existe, nous l'invoquons avec les arguments souhaités.

Par exemple, si settings.functionName est défini sur "clickedOnItem", l'exécution du code entraînerait :

<code class="javascript">var fn = window["clickedOnItem"]; // Fetch the function reference
fn(t.parentNode.id); // Invoke the function</code>
Copier après la connexion

Cela imite efficacement l'invocation manuelle de la fonction que nous recherchions. N'oubliez pas que cette approche est généralement mal vue en raison de problèmes potentiels de sécurité et de maintenabilité. Envisagez d'explorer des alternatives plus sûres, telles que l'utilisation du constructeur de fonction ou des fonctions fléchées, pour construire dynamiquement des appels de fonction.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal