Espérons que ce code simple basé sur jquery aidera à expliquer le problème.Nettoyer javascript variable scope en supprimant son code de DOM
html:
<script>
$('#remover').click(function(){
$('#block').empty();
})
$('#test').click(function(){
alert(remove1); // still displays the varibale
})
</script>
<div id="block">
<script>
var remove1 = 'asasdsds';
var remove2 = 'asasdsds';
var remove3 = 'assdsdsdas';
var blabla = 'blablabl';
</script>
</div>
<span id="remover">Remove ALL</span>
<span id="test">Test</span> // it will still displays the variable.
J'ai besoin pour effacer toutes les variables de portée globale en supprimant le contenu du bloc. Le contenu du bloc est dynamique et peut contenir n'importe quel code javascript.
Merci d'avoir lu.
Je l'ai eu. Je vais essayer d'autres façons alors. Merci pour votre information! – taras
var déclarations ajouteront des propriétés à l'objet de la portée (dans
Javascript ne fonctionne pas de cette façon! Une fois qu'un bloc de script est analysé, le retirer du DOM ne fera rien ... La seule chose que je peux penser est vraiment bidouille horrible comme ceci:
Ensuite, votre fonction supprimer ressemble :
Source
2009-04-24 16:33:49 Greg
Merci pour votre code Greg! – taras