Comment puis-je écrire une fonction acceptant la fonction callBack et l'exécuter de manière 'sûre'?
Je veux écrire une telle fonction:
function doGoodJob(someId, callBackfunction){
//some stuff with someId
//todo: RUN callBackFunction here
}
Ils disent eval est "dangereux" dans les termes de l'injection de code.
alors, quelle est la meilleure pratique consiste à écrire une fonction JavaScript qui accepte une fonction de rappel et l'exécute en toute sécurité?
source d'informationauteur pencilCake
Vous devez vous connecter pour publier un commentaire.
Est votre rappel d'une chaîne ou d'une fonction réelle ?
Si sa fonction..
Si ses une chaîne de caractères, vous pouvez utiliser le La fonction constructeur.
Ou de test pour les deux..
Cela devrait fonctionner:
rapide violon: http://jsfiddle.net/pS67X/
bien que la fin de ce sujet, je voulais juste adde quelque chose.
Solution ci-dessus fonctionne pour d'alerte ou de fonction passer comme argument, mais pas dans le cas ci-dessous.
plutôt que d'utiliser la fonction eval(callbackFunction) comme ci-dessous
Fonction de rappel moyen de la fonction passer comme argument, comme nous l'avons pass variable.
Lors de l'appel de la fonction de rappel, nous pourrions l'utiliser comme ci-dessous: