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 + ")"
que nous voulons traduire en appel de fonction :
clickedOnItem(IdofParent);
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>
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>
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!