![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
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 cuenta
account.name = 'Jon';
// eliminar la propiedad
delete 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 objeto
ref1 = new Object();
ref1.name = "Jody";
// copiar la variable de referencia a la nueva variable
// y eliminar ref1
ref2 = 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.
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |