Soy un poco nuevo en Actionscript, pero no puedo entender esto. He realizado muchas búsquedas sobre este tema y no he encontrado una respuesta clara. Probé las siguientes soluciones que las personas publicaron en línea, pero ninguna de ellas funciona.Actionscript3: ¿Existe la variable?
Todos los siguientes soluciones dan el error: 1120: Acceso de propiedad no definida myVariable
Sugerencia # 1:
try {
trace(myVariable); }
catch {
trace("your variable doesn't exist"); }
Sugerencia # 2:
if (myVariable) {
trace("your variable exists!!"); }
else {
trace("it doesn't exist"); }
Sugerencia # 3:
if (myVariable == null)
trace("your variable doesn't exist");
Sugerencia # 4:
if (myVariable == undefined)
trace("your variable doesn't exist");
Como dije, he encontrado muchos puestos foros y cosas en línea que dan las sugerencias anteriores que dicen que lo harán trabajo, pero todos parecen darme el mismo 1120: acceso de la propiedad indefinida myVariable error.
Por cierto, en caso de que se pregunte por qué tendría que comprobar si existe una variable o no, estoy planeando pasar variables al archivo SWF en su URL, así que necesito asegurarme de que existan las variables adecuadas y manejar el código correctamente si no se pasan.
Gracias por la respuesta rápida. Todavía no está funcionando realmente. El alcance de la variable está solo en el nivel superior/raíz del script. Básicamente, comienzo a un nuevo archivo flash, en el primer cuadro añado la siguiente acción:
// to check for this.myVariable
if (this.hasOwnProperty("myVariable")) {
trace("myVariable exists");
}
else
{
//Variable doesn't exist, so declare it now
trace("declaring variable now...");
var myVariable = "Default Value";
}
trace(myVariable);
Cuando ejecuto el archivo flash, obtengo esta salida:
myVariable exists
undefined
me esperaba esto:
declaring variable now...
Default Value
¡Esto funcionó a la perfección! ¡Gracias! –
ONe upvote para la marca registrada en 'el camino correcto'. –