![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2006
Сообщений: 1
|
Всем привет
![]() может ктонить подскажет, почему не работает следующая конструкция: //------------------------------------- switch (shape) { case ("Shell" || "Cover") //разные всякие операторы тут ![]() break; } //------------------------------------- тоесть она работает почемута только тогда, когда var shape = "Cover", а если "Shell" - никак. может я туплю просто, но если подскажете - буду премного... ![]() заранее muchas gracias ![]() |
|
|||||
|
__________________
...я люблю людей!.. |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
зависит от версии плеера.
trace(("Shell" || "Cover")) даст в разных плеерах разный результат. схема такая: по-моему начиная с 8ки непустые строки возвращают true в boolean операциях в 7ке любые строки возвращают false но судя по признакам ты публикуешь в восьмерку. т.е. твое выражение "Shell" || "Cover" в 8ке всегда вернет "Shell", (trace(("Shell" || "Cover"))) и далее происходит сравнение с case если равны, то выполняется. думаю, что дальше продолжать не надо. не... всё ботва... ща воткнул trace(("Shell" || "Cover")) дает Cover при этом trace((Boolean("Shell") || "Cover")) дает true бред. иду спать. надеюсь подсказал направление. |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
нашел причину моей путанницы и в итоге написал багрепорт в макромедию.
причина - баг компиляции. trace(("Shell" || "Cover")) - дает "Cover" при этом var shell = "Shell" var cover = "Cover" trace(shell || cover) - дает "Shell" - и именно это правильно |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|