Flash - Actionscript if ... else оператор - PullRequest
0 голосов
/ 02 мая 2011

У меня есть базовый код ActionScript, который в основном показывает список в зависимости от значения текстового поля.

if (txtValue.text = "0")
{
    lstFilm.visible = false;
}
else if (txtValue.text = "1")
{
    lstFilm.visible = true;
}

Проблема, с которой я столкнулся, заключается в том, чтобы вместо этого изменить видимость списка, это меняет значение в поле.Любые идеи, почему или как я мог бы достичь этого?

Ответы [ 2 ]

2 голосов
/ 02 мая 2011

Используйте ==, который является оператором равенства, а не = оператором присваивания.

1 голос
/ 02 мая 2011

Оператору if обычно требуется оценить операцию «истина» или «ложь».

Используя:

if(txtValue.text = "0") { ... }

Вы фактически присваиваете значение «0» свойству «text» вашего текстового поля. Другими словами, вы НЕ проверяете, равно ли оно «EQUALS-TO» 0.

Вы должны использовать оператор двойного равенства, чтобы получить желаемый результат:

if(txtValue.text == "0") { ... }

Это затем правильно пройдет через ваше утверждение.

Только в некоторых редких случаях вы захотите выполнить присваивание (вместо «проверки» условия) внутри оператора if. Это часто можно найти в операторах чтения файлов или проверки ссылок, таких как:

var someVar:Array;
if(someVar = methodThatCanReturnList()) { ... }

Но этот метод немного недоволен. А для начинающих гораздо лучше сначала освоить оператор "==".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...