Nous avons une application JavaScript très volumineuse, où après plusieurs mois de codage, il y a inévitablement quelques erreurs de définition de portée lorsqu'une variable est définie sans utiliser le mot clé var
de la façon suivante :Interruption de Firebug lors de la définition d'une variable globale x
function() {
x = 5; ...
}
au lieu de:
function() {
var x = 5; ...
}
Ce qui se passe quelque part - nous ne savons pas où - et la recherche du nom de la variable en question est difficile, car il est un mot commun qui apparaît 1000s de fois dans notre sou rce.
Existe-t-il un moyen de demander à Firebug de casser la ligne qui crée d'abord une variable globale donnée? Pour clarifier, je voudrais rompre exactement à l'instant où window.x
passe de undefined
à une valeur définie, et à l'instruction break.
J'ai essayé de créer une expression de surveillance et j'espérais pouvoir la transformer en point d'arrêt, mais je n'arrive pas à créer des expressions de surveillance sans une sorte de contexte ou de portée.
Si ce n'est pas possible avec Firebug, je serais intéressé par tout ce qui peut accomplir cela dans Firefox en général.
Y at-il un problème avec le formateur de code? Je ne peux pas le faire fonctionner avec mon exemple. –
ouais vous devez ajouter beaucoup d'espaces avant chaque ligne pour le faire formaté - eu le même problème en entrant ma question :) – Maciek
Très belle approche (qui fonctionne!), Et merci de me faire découvrir le \ __ defineSetter \ __ " méthode magique ". – Tibo