Il n'y a pas moyen de le faire en JavaScript. Vous pouvez avoir une variable globale comme
var isDebugging = false;
Ensuite, lors de l'écriture du code, vérifiez simplement si la variable est vraie. Évidemment, cela va créer un surcoût indésirable avec la taille du fichier, et une très légère perte de performance. Mais en dehors de la spécification de votre propre format, et de l'exécution du code via un outil pour déconnecter le code de débogage avant de télécharger.
Quelque chose comme
var foo = function() {
<!-- document.write("blah"); -->
};
Pour une version release, vous devez supprimer tout à l'intérieur des balises, y compris. Et pour une version de débogage, vous pouvez simplement supprimer les balises, mais conserver le code. Quelque chose comme ceci pourrait être exécuté avec un script de construction Ant ou similaire.
En quoi l'utilisation d'une macro ressemble-t-elle à une simple fonction de programmation en ligne que vous stockez dans une fonction et que vous appelez à volonté? –
est différent car il est évalué au moment de la compilation, pas au moment de l'exécution. – stivlo
Macro récupère automatiquement le __FILE__, __FUNCTION__ (si le compilateur le permet) et __LINE__ automatiquement .. cela rend le code plus clair car nous ne l'encombrons pas avec cette information à chaque appel de fonction – Kiran