Простой вопрос об операторе || - PullRequest
0 голосов
/ 09 июня 2010

здравствуйте,

я пытаюсь сделать это в FlashBuilder (FlexProject)

protected function btn_detail_view_clickHandler(event:MouseEvent):void
        {
            CurrentState="Statistiques" || "PartMarche";
        }

Но это не работает, я думаю, что это не правильный синтаксис, но какой правильный синтаксис? Спасибо

PS: я хочу, чтобы когда состояние равнялось "statistiques" или "partMarche", когда я нажимал на кнопку, текущее состояние изменялось на подробный вид;)

Ответы [ 3 ]

1 голос
/ 09 июня 2010

Спасибо за разъяснение, что вы хотите сделать.Чтобы проверить, что такое CurrentState, вам нужно проверить его с условием if:

    if (CurrentState == "Statistiques" || CurrentState == "PartMarche")
    {
        // Of course, use the actual name of your detail view here
        CurrentState = "DetailView";
    }
1 голос
/ 09 июня 2010

В языках ECMAScript || - это оператор короткого замыкания, который будет возвращать результат выражения в левой части, если он получит истинное значение, или результат выражения в правой части в противном случае. Непустые строки всегда приводят к истинным значениям, поэтому здесь всегда будет возвращаться левое выражение. Эквивалентный длинный код для вашего примера:

if ("Statistiques")
    CurrentState = "Statistiques";
else
    CurrentState = "PartMarche";

Этот тип оператора короткого замыкания используется для установки значений по умолчанию для переменных в определенных ситуациях:

CurrentState = PreviousState || "Some string";

В этом примере, если PreviousState равно нулю или ложно или пустой строке, CurrentState будет установлено в значение "Некоторая строка". Если PreviousState является строкой типа «Другая строка», CurrentState будет иметь значение «Другая строка».

0 голосов
/ 09 июня 2010

Хорошо, на самом деле мне нужно удалить .Statistiques, чтобы этот код работал во всех состояниях

 click.Statistiques="btn_detail_view_clickHandler(event)"

Извините, я просто слишком быстро пошел вместо того, чтобы закончить урок.

Ваши ответы не позволят мне задать следующий вопрос!спасибо;)

...