D-E > delete

 

delete

Disponibilité

Flash Player 5.

Usage

delete référence

Paramètres

référence Le nom de la variable ou de l'objet à supprimer.

Renvoie

Voir ci-dessous.

Description

Opérateur ; détruit l'objet ou la variable spécifié par le paramètre référence et renvoie true si l'objet a été supprimé avec succès ; sinon, renvoie false. Cet opérateur est utile pour libérer de la mémoire utilisée par des scripts. Quoique delete soit un opérateur, il est généralement utilisé comme instruction, comme dans l'exemple suivant :

delete x;

L'opérateur delete peut échouer et renvoyer false si le paramètre référence n'existe pas ou ne peut pas être effacé. Les objets et propriétés prédéfinis, et les variables déclarées avec var, ne peuvent pas être supprimés. Vous ne pouvez pas utiliser l'opérateur delete pour retirer des clips.

Exemple

L'exemple suivant crée un objet, l'utilise et le supprime une fois qu'il n'est plus nécessaire.

compte = new Object();
compte.nom = 'Jon';
compte.solde = 10000;

delete compte;

Exemple

L'exemple suivant supprime une propriété d'un objet.

// créer l'objet "compte"
compte = new Object();
// affecter le nom de propriété au compte  
compte.nom = 'Jon'; 
// supprimer la propriété
delete compte.nom; 

Exemple

L'exemple suivant illustre une autre façon de supprimer une propriété d'objet.

// créer un objet Array de longueur 0
monTableau = new Array(); 
// monTableau.length est maintenant 1
monTableau[0] = "abc";
// ajouter un élément au tableau ; monTableau.length est maintenant 2
monTableau[1] = "def"; 
// ajouter un élément au tableau ; monTableau.length est maintenant 3
monTableau[2] = "ghi";
// monTableau[2] est supprimé, mais monTableau.length n'est pas changé
delete monTableau[2]; 

L'exemple suivant illustre le comportement de delete sur les références d'objets.

// créer un objet et affecter la variable ref1
// pour faire référence à l'objet
ref1 = new Object();
ref1.nom = "Jody";
// copier la variable de référence dans une nouvelle variable
// et supprimer ref1
ref2 = ref1;
delete ref1;

Si ref1 n'avait pas été copié dans ref2, l'objet aurait été supprimé à la suppression de ref1, car il n'y aurait plus eu de référence à l'objet. Si vous supprimiez ref2, il n'y aurait plus de référence à l'objet, qui serait détruit et la mémoire qu'il utilisait serait à nouveau disponible.

Voir aussi

var