Я немного новичок в ActionScript, но я не могу понять это. Я много искал эту тему и не нашел четкого ответа. Я пробовал следующие решения, которые люди публикуют в Интернете, но никто из них не работает.
Все следующие решения дают ошибку: 1120: доступ к undefined свойству myVariable
Предложение № 1:
try {
trace(myVariable); }
catch {
trace("your variable doesn't exist"); }
Предложение № 2:
if (myVariable) {
trace("your variable exists!!"); }
else {
trace("it doesn't exist"); }
Предложение № 3:
if ( myVariable == null )
trace("your variable doesn't exist");
Предложение № 4:
if ( myVariable == undefined )
trace("your variable doesn't exist");
Как я уже сказал, я нашел много сообщений в форумах и прочее в Интернете, в которых приведенные выше предложения говорят о том, что они будут работать, но все они, похоже, дают мне тот же 1120: доступ к ошибке undefined myVariable.
Кстати, в случае, если вам интересно, почему мне нужно проверить, существует ли переменная или нет, я планирую передать переменные SWF в свой URL-адрес, поэтому мне нужно убедиться, что существуют правильные переменные и правильно обрабатывайте код, если они не переданы.Спасибо за быстрый ответ. Все еще не работает. Область действия переменной находится только на верхнем/корневом уровне script. В принципе, я запускаю новый флеш файл, в первом кадре я добавляю следующее действие:
// 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);
Когда я запускаю флеш файл, я получаю этот вывод:
myVariable exists
undefined
Я ожидал этого:
declaring variable now...
Default Value