ActionScript: Проверка равенства или сравнения значений
Вы хотите проверить, если два значения равны. Использование равенства (или неравенства) и строгого равенства (или неравенства строгие) оператора для сравнения двух значений. Для проверки того, является ли величина действительного числа, использование isNaN (). Равенство выражений всегда возвращать булево значение указывающее на то, что два значения равны. Равенство (и неравенства) операторов бывают как регулярных, так и строгие ароматы. Очередная равенство и неравенство операторов проверки того, что два выражения в сравнении могут быть решены на том же значения после преобразования их в то же данных. Например, отметить, что строка "6", и число 6, считаются равными, поскольку строка "6" преобразуется в число 6 до сравнения: следов (5 == 6); / / Показывает: ложных следов (6 == 6); / / Показывает: верно след (6 == "6"); / / Показывает: верно следов (5 == "6") ; / / Показывает: ложные Логический оператор неравенства (! =) Возвращает ложное, если два значения равны, и справедливо, если они не равны. При необходимости, операнда преобразуются в том же данных до сравнения: следов (5! = 6); / / Показывает: верно след (6! = 6); / / Показывает: ложных следов (6! = "6"); / / Показывает: ложных следов (5! = "6") ; / / Показывает: верно С другой стороны, строгое равенство и неравенство операторов сначала проверяем ли ценности в сравнении того же данных перед выполнением сравнения. Различия в данных вызвать оператор строгого равенства вернуться ложной и строгого неравенства оператор вернуться верно: след (6 === 6); / / Показывает: верно след (6 === "6"); / / Показывает: ложных следов (6! == 6); / / Показывает: ложных следов (6! == "6"); / / Показывает: верно Существует большая разница между уступкой оператор (=) и равенства оператор (==). Если вы используете оператор уступки вместо равенства оператора, при изменении значения переменной, а не тестирование своей нынешней стоимости. Использование неправильно оператора приводит к неожиданным результатам. В следующем примере, myVar равен 5 на первый, так что можно ожидать, если последующее заявление всегда оценки ложности, предотвращения трассировки () из осуществляется: var myVar = 5; / / Следующий код неправильный. Следует, если (myVar == 6), а если (myVar = 6) (трассировки ( "Кролики являются bunnies.") ;) Трассировки ( "myVar это" + myVar); / / Показывает: myVar это 6 Однако, например, ошибочно использует уступки оператор (=) вместо равенства оператор (==). Вот, выражение myVar = 6 наборов myVar на 6 вместо тестирования ли myVar это 6. Когда используется в том случае, если положение, выражение myVar = 6 рассматривается как число 6. Поскольку любое число от нуля используется в тестовом выражение преобразуется в булево верно, трассировки () действие называется. Заменить испытания выражение с myVar == 6 вместо. Вы можете проверить пункт, в данных с помощью typeof оператора, а именно: var myVar = 5; если (typeof myVar == "номер") (трассировки ( "Yippee. Это рядом. ");) Но некоторые числовые значения, являются недействительными. В следующем примере результатов в myVar устанавливаются равным NaN (постоянный составляет недействительные номера, короткий "не в своем Количество"), поскольку расчет не может быть выполнено в реальном образом: var myVar = 15 - "кофе"; Несмотря на свое название, NaN является значение от числа данных: трассировки (typeof myVar); / / Показывает: "номер" Поэтому, чтобы проверить, если что-то является не только количество, но действительное число, можно попытаться это: var myVar = 15 - "кофе"; если (typeof myVar == "номер") (/ / попытаться Ницца, но это не будет работать. если (myVar! = NaN) (трассировки ( "Yippee. Это рядом. ");)) Вы не можете просто сравнивать значение постоянной NaN, чтобы проверить является ли оно допустимым числом. Вместо этого, вы должны использовать специальные isNaN () функции для выполнения теста. Чтобы определить, является ли недопустимый номер, воспользоваться специальным isNaN () функции, а именно: var myVar = 15 - "кофе"; если (isNaN (myVar)) (трассировки ( "Извините, что не является допустимым числом.") ;) Для испытания на противоположное условие (т.е., является ли условие не верно) использовать логический оператор НЕ (!) . Например, чтобы проверить, правильно ли переменная содержит действительное число, использовать! IsNAN (), а именно: var myVar = 15 - "кофе"; если (! isNaN (myVar)) (/ / Число не недействительным, поэтому он должен быть действительный номер. трассировки ( "Это действительные числа.") ; / / Это прыжки на другой кадр, что вы помечены кадр "SuccessScreen". gotoAndStop ( "SuccessScreen");) Конечно, вы можете выполнять сопоставление с использованием хорошо известных операторов сравнения. Например, вы можете использовать> и <операторам, чтобы проверить одно значение, если меньше или больше, чем другое значение: следов (5 <6); / / Показывает: верно следов (5> 5); / / Показывает: ложные Кроме того, вы можете использовать> = и <= операторам, чтобы проверить, если одна величина меньше или равна, или больше или равен, другая стоимость: следов (5 <= 6); / / Показывает: верно следов (5> = 5); / / Показывает: верно Вы должны также осознавать, что ActionScript сравнения различных datatypes по-разному. ActionScript данных можно разделить на примитивный datatypes (строка, число и булевых) или составных datatypes (объект, movieclip, и массив). Если сравнить примитивные datatypes, ActionScript сравнивает их "стоимости." В этом примере myVar и myOtherVar считаются равными, поскольку они содержат значение 6. var myVar = 6; var myOtherVar = 6; трассировки (myVar == myOtherVar); / / Показывает: верно Однако, когда вы сравниваете композитных datatypes, ActionScript сравнивает их "по ссылке." Сравнение товаров ссылкой означает, что два пункта, считаются равными только, если обе указывают на точно такой же объект, а не только к объектам с совпадающими содержание. Например, два массива, содержащие одинаковые значения, не считаются равными: / / создайте два массива с тем же элементов. arrayOne = новый Array ( "а", "б", "с"); arrayTwo = новый Array ( "а", "б", "с"); трассировки (arrayOne == arrayTwo); / / Показывает: ложные Две составные элементы равны, только если они относятся к идентичным объект, массив, или фильм клип. Например: / / Создать единый массив arrayOne = новый Array ( "а", "б", "с"); / / Создать другой переменной, что ссылки то же массив. arrayOne = arrayTwo; трассировки (arrayOne == arrayTwo); / / Показывает: верно в этой статье идет речь добавил Габриэль Савимби
|
|||
|