![]() ![]() | |
Flash Player 5.
delete reference
reference Nombre de la variable u objeto que se va a eliminar.
Valor booleano.
Operador; destruye el objeto o la variable especificada por el parámetro reference y devuelve true si el objeto se ha eliminado correctamente; de lo contrario, devuelve el valor false. Este operador es útil para liberar memoria utilizada por scripts. Aunque delete es un operador, normalmente se utiliza como sentencia, como en el ejemplo siguiente:
delete x;
El operador delete puede fallar y devolver false si el parámetro reference no existe o no puede eliminarse. Los objetos y propiedades predefinidos y las variables declaradas con var no pueden eliminarse. No puede utilizar el operador delete para eliminar clips de película.
Sintaxis 1: en el ejemplo siguiente se crea un objeto, se utiliza y después se elimina cuando ya no es necesario.
account = new Object();account.name = 'Jon';account.balance = 10000;delete account;
Sintaxis 2: el ejemplo siguiente elimina una propiedad de un objeto.
// crear el nuevo objeto "account"account = new Object();// asignar un nombre de propiedad a la cuentaaccount.name = 'Jon';// eliminar la propiedaddelete account.name;
Sintaxis 3: el ejemplo siguiente es otro ejemplo de la eliminación de una propiedad de un objeto.
// crear un elemento Array de longitud 0 my_array = new Array(); // añadir un elemento a la matriz. Array.length es ahora 1. my_array[0] = "abc"; // añadir otro elemento a la matriz. Array.length es ahora 2. my_array[1] = "def"; // añadir otro elemento a la matriz. Array.length es ahora 3. my_array[2] = "ghi"; // se elimina my_array[2], pero Array.length no cambia delete array[2]; trace(my_array.length);
Sintaxis 4: en el ejemplo siguiente se muestra el comportamiento de delete en referencias de objeto.
// crear un nuevo objeto y asignar la variable ref1
// para hacer referencia al objetoref1 = new Object();ref1.name = "Jody";// copiar la variable de referencia a la nueva variable// y eliminar ref1ref2 = ref1;delete ref1;
Si ref1 no se hubiera copiado en ref2, el objeto se habría eliminado al eliminar ref1, porque no habría referencias a él. Si elimina ref2, ya no habrá referencias al objeto; se destruirá y la memoria que utilizaba pasará a estar disponible.
![]() ![]() | |