En ActionScript, ¿cómo puede probar si un objeto está definido, es decir, no nulo?Pruebe si un objeto está definido en ActionScript
Respuesta
si un objeto se define
Esto funciona en AS2 y AS3, y es la forma más confiable para probar si un objeto tiene un valor.
if (obj != null) {
doSomethingWith(obj);
}
su también la manera más confiable para probar la propiedad de un objeto y leerlo en la misma expresión:
if (arr[0] != null && arr[0]>5) {
doSomethingWith(arr[0]);
}
prueba si un objeto es nulo
Hay una diferencia entre nulo e indefinido, pero si no te importa puedes hacer una comparación normal entre cualquiera de ellos porque pare iguales:
if (obj == null) {
doSomethingWith(obj);
}
es lo mismo que
if (obj == undefined) {
doSomethingWith(obj);
}
Si se preocupan por la diferencia, utilice el operador === == o, lo que no convertirlos!.
if (obj === undefined) {
// obj was never assigned a value
}
else if (obj === null) {
// obj was explicitly set to null
}
else {
doSomethingWith(obj);
}
¿Quiere decir que todas esas declaraciones if (obj == null || obj == undefined) en mi base de código se pueden condensar? ¡cortejar! :) – Herms
¿Podría arrojar "if (obj)" allí? ¿Cómo funciona la coerción booleana? – bzlm
Probablemente esté muerto, pero llegó a esta página buscando en Google el checing nulo de actionscript. Tengo un control mx: html y en htmlDOMInitialize, tomo el documento de la siguiente manera: doc: Object = myMxHTML.domWindow.document; Entonces doc.head == null se evalúa como falso a pesar de que trace (doc.head) muestra null. doc no es nulo, como en la documentación no puede ser. – HMR
Simplemente pruébelo frente a nulo. prueba
var someObj:Object = getSomeObjectOrMaybeNull();
if(someObj == null) {
trace("someObj is null!");
} else {
trace("someObj is not null!");
}
También podría recorrer un objeto primario para ver si contiene alguna instancia del objeto que está buscando.
foundit=false;
for (var i in this) {
if (this[i]._name == "MyMovie") {
foundit=true;
}
}
Esta es una práctica muy mala de bucle solo para descubrir si algún objeto es nulo –
Para ActionScript 3.0, si lo que quieres es una prueba genérica para la nada, entonces es muy fácil:
var a;
var b;
var c;
var d;
a = undefined;
b = null;
c = 5;
if (a)
trace(a);
if (b)
trace(b);
if (c) // Will trace
trace(c);
if (d)
trace(d);
En el ejemplo anterior, sólo se va a rastrear c
. Esto es generalmente lo que necesito, y simplemente verificando if (obj)
es la versión más fácil de leer.
Este método utiliza la conversión implícita a un valor booleano, también conocido como coacción boolean, y los detalles de lo valores se coaccionan a falso y qué valores se coaccionar a la verdadera follow ECMA standards y son también documented specifically for ActionScript.
Pensé que habría intentado eso, pero esto de hecho funciona, y creo que se ve bien también. –
Me gusta también, hace que el código sea más legible y facilita la refactorización. – bzlm
Buen punto. Incluido en la respuesta aceptada. Gracias. –
- 1. ¿Cómo verificar si un objeto está definido?
- 2. Pruebe si la intención está disponible
- 3. ¿Cómo comprobar si una variable u objeto no está definido?
- 4. Pruebe si el puerto remoto está en uso
- 5. objeto localStorage no está definido en IE
- 6. JavaScript: ¿Está definido un miembro?
- 7. Pruebe si el puerto está abierto y reenviado usando PHP
- 8. Verificar si un valor está definido en una Cum?
- 9. Pruebe si la tecla Ctrl está presionada con C#
- 10. rails - collection_select valor seleccionado si está definido?
- 11. js anula console.log si no está definido
- 12. Cómo verificar si un nombre eval no está definido
- 13. detectar si un objeto está vacía
- 14. Pruebe si Convert.ChangeType funcionará entre dos tipos
- 15. Pruebe si un alias es una plantilla en D 2.0
- 16. Pruebe si el valor es un número entero en Sass
- 17. Comprueba si bool está definido en C/C++
- 18. prueba si algo no está definido en JavaScript
- 19. Pruebe si un objeto implementa una interfaz genérica para cualquier tipo genérico
- 20. sqlconnection no está definido
- 21. $ no está definido en iFrame
- 22. Pruebe si una clase es polimórfica
- 23. Actionscript objeto número de propiedades
- 24. ¿cómo elimino/gc un objeto en Actionscript 3?
- 25. Pruebe si hay una fuente instalada
- 26. Pruebe si existe valor de registro
- 27. Pruebe si existe un índice de una lista
- 28. Pruebe Dequeue en ConcurrentQueue
- 29. Javascript - Comprobación de si una matriz multidimensional no está definido
- 30. .htaccess prueba si ENV es verdadero o está definido
¿Funciona exactamente igual en AS1, AS2 y AS3? – bzlm