codice:
delete
Disponibilità
Flash Player 5.
Uso
delete riferimento
Parametri
riferimento Il nome della variabile o dell'oggetto da eliminare.
Valori restituiti
Nessuno.
Descrizione
Operatore; elimina definitivamente l'oggetto o la variabile specificata dal parametro riferimento e restituisce true se l'oggetto viene eliminato correttamente; in caso contrario, restituisce false. Questo operatore consente di liberare la memoria usata dagli script. L'operatore delete viene generalmente usato come istruzione, come nell'esempio seguente:
delete x;
L'operatore delete potrebbe non avere effetto e restituire il valore false se il parametro riferimento non esiste oppure se non è possibile eliminarlo, come nel caso degli oggetti e delle proprietà predefinite, nonché delle variabili dichiarate con var. Non è possibile usare l'operatore delete per rimuovere clip filmato.
Esempio
Nell'esempio seguente, un oggetto viene creato, usato e, infine, eliminato quando non è più necessario.
account = new Object();
account.name = 'Lea';
account.balance = 10000;
delete account;
Esempio
L'esempio seguente elimina una proprietà di un oggetto:
// Crea il nuovo oggetto "account"
account = new Object();
// Assegna la proprietà name all'account
account.name = 'Lea';
// Cancella la proprietà
delete account.name;
Esempio
Il seguente è un altro esempio di eliminazione di una proprietà di un oggetto:
// Crea un oggetto Array con lunghezza 0
array = new Array();
// Array.length diventa 1
array[0] = "abc";
// Aggiunge un altro elemento alla matrice; .Array.length diventa 2
array[1] = "def";
// Aggiunge un altro elemento alla matrice; .Array.length diventa 3
array[2] = "ghi";
// array[2] viene eliminato, ma Array.length rimane invariata
delete array[2];
Nell'esempio seguente, viene mostrato il comportamento dell'operatore delete sui riferimenti agli oggetti.
// Creare un nuovo oggetto e assegnare la variabile ref1
// come riferimento all'oggetto
ref1 = new Object();
ref1.name = "Mara";
// Copiare la variabile di riferimento in una nuova variabile
// ed eliminare ref1
ref2 = ref1;
delete ref1;
Se la variabile ref1 non fosse stata copiata in ref2, l'oggetto sarebbe stato eliminato insieme a ref1 poiché non sarebbero più stati presenti riferimenti a esso. Eliminando ref2, non vi sarebbero più riferimenti all'oggetto; pertanto, verrebbe eliminato definitivamente e la memoria impiegata sarebbe nuovamente disponibile.