javascript ne dispose pas d'un mécanisme de destructeur réelle comme C ++ ou d'autres langages. Cela dit, lorsque vous créez des objets en javascript, vous pouvez toujours mettre en œuvre certaines fonctionnalités de destructeur-esque de base. Cette fonctionnalité peut être déclenché manuellement dans votre code, ou vous pouvez l'ajouter à une page de "onunload" événement pour déclencher automatiquement lorsque l'utilisateur navigue loin de la page. Ceci peut être réalisé en utilisant "tout droit" javascript, sans bibliothèques externes, mais en utilisant la boîte à outils Dojo peut rendre le code un peu plus propre et plus facile à travailler avec.
A l'intérieur du "son exécution"/"lib"/"dest" dossier, créez un nouveau fichier javascript et nommez- "DestructorTest.js." Celui-ci contiendra la classe javascript réelle et la fonctionnalité que nous allons travailler avec.
Ajoutez le code suivant à votre nouveau fichier javascript:
(dojo.provides"dest.DestructorTest");
dojo.declare ("dest.DestructorTest", Nul, {
Nom: null,Adresse: null,
constructeur: function () {
this.name = "Bob Jones";
this.address = "123 Test de Dr.";
alert ('Construire un DestructorTest!');
},
détruire: function () {
this.name = null;
supprimer this.name;
this.address = null;
supprimer this.address;
alert ('Détruire un DestructorTest!');
}
});
Retour dans votre fichier index.html, ajoutez le code suivant pour le bloc de script, nous avons ajouté plus tôt pour donner l'accès de page à votre nouvelle classe javascript:
Ceci est similaire à un "importation" déclaration en Java, "aide" en C #, ou (dans une moindre mesure) la directive #include en C / C ++.
A la fin du fichier index.html, avant la fermeture "corps" tag, ajouter un nouveau bloc de script avec le code suivant:
Enregistrez votre fichier et de l'ouvrir dans votre browser- vous devriez voir une boîte de message apparaît indiquant qu'une nouvelle DestructorTest est créé. Si vous actualisez la page, ou naviguer vers une autre page, vous aurez une autre boîte de message vous informant que l'objet DestructorTest est détruit.