if ((prmotionCode != 'FSSAVE') || (promotionCode != 'ISSAVE') && (promotioCode == 'SOSAVE'))
ответ
Вы пишете promotionCode
неправильный 2 из 3 раз.
Редактировать: используя отладчик Javascript, например Firebug, вы сможете отслеживать свой код и лучше понимать, где происходит эта проблема и что это такое. Вы также можете попробовать IDE с поддержкой Javascript, так как может сможет обнаружить такие проблемы.
Вы ошибочно написали 'prmotionCode' в первой и третьей частях if. Кроме того, для ответа на вопрос недостаточно информации.
(promotioCode == 'SOSAVE')
Должно быть
(promotionCode == 'SOSAVE')
Вы можете предоставить дополнительную информацию в будущем.
Это последнее условие, если заявление
EDIT
Ой, подождите, вы видите это неправильно дважды.
Возможно, вам нужны два & &. Третьей переменной должен быть promotionCode. «N» отсутствует
Спасибо за помощь. – xander
Вы не используете круглые скобки между использованиями || и & &, что делает вашу цель неясной (не обязательно, но сильно неудобной).
Почему бы и нет? лучше, чем не быть на 100% уверенным в приоритете ... –
На самом деле тестирование '(x! = 'foo')' и '(x == 'bar')' бессмысленно. Если 'x' является' bar', то нет точного тестирования, если это не 'foo'! –
Спасибо за помощь. – xander
Знаете ли вы свой operator precedence в javascript от самого сердца?
Если нет, то вы должны всегда помещать круглые скобки вокруг выражений с несколькими тестами, чтобы дать понять себе и поддерживающему код, какой приоритет вы ожидали.
Вы: do Знаете ли вы, что &&
крепче связывает ||
?
Прежде всего, у вас, похоже, есть проблемы с написанием «продвижения по службе».
Но, кстати, на самом деле это не логично. Если promotionCode = «SOSAVE», то по определению он не равен какой-либо другой вещи. Не было бы оснований проверять, чтобы код равнялся одной вещи, одновременно не сравнивая другую вещь; это избыточно.
Предположительно, вам нужно сообщить нам, что вы на самом деле пытаетесь сделать здесь.
Если опечатки появились только в вашем сообщении SO, то, вероятно, вы спрашиваете о логической логике - есть проблема precedence.Ваша логика сводится к 4 комплектами:
- FSSAVE
- ISSAVE
- SOSAVE
- {все другие}
Трудно точно сказать, что именно вы хотите, чтобы произвести, но ваша логика говорит: если он относится к SOSAVE
(включите # 3) или он не находится в наборе FSSAVE
(исключить # 1), тогда сделайте что-то ..., которое сводится к: если в # 2, # 3, # 4 - сделайте что-нибудь , который (снова) сводится к: если NOT в # 1 - do что нибудь. Предложение ISSAVE
игнорируется из-за приоритета оператора.
Ваша линия может быть переписано как:
//Using pc as prmotionCode/promotionCode/promotioCode
if (pc!='FSSAVE') {
//Do something
}
даже если нет опечаток, условие может быть уменьшена
if(promotionCode != 'FSSAVE')
Что точка дружок?
Очевидные ошибки и сарказм в стороне, вот небольшая помощь в кодировании. Попробуйте использовать switch
вместо if
блока:
switch (promotionCode) {
case 'FSSAVE':
// code for FSSAVE here.
break;
case 'ISSAVE':
// code for ISSAVE here.
break;
case 'SOSAVE':
// code for SOSAVE here.
break;
default:
// code for none of the above here.
break;
}
Это позволит вам добавить больше условий в будущем. без изменения вашего кода. Все, что вам нужно сделать, это добавить еще несколько случаев. Кстати, это будет оценено немного быстрее таким образом, так как переменная promotionCode
оценивается только один раз.
P.S. Кроме того, вы должны попробовать только заклинание promotionCode
один раз. Меньше предела для ошибки. (извините, не смог удержаться! счастливое кодирование!)
- 1. что с этим кодом?
- 2. что с этим кодом?
- 3. что с этим кодом?
- 4. что с этим кодом?
- 5. что с этим кодом?
- 6. что с этим кодом?
- 7. что с этим кодом C#
- 8. Что происходит с этим кодом?
- 9. Что случилось с этим кодом?
- 10. Что случилось с этим кодом?
- 11. Что происходит с этим кодом
- 12. Что подсчитано этим кодом?
- 13. что с этим кодом чтения с mmap?
- 14. Что нужно заменить этим кодом?
- 15. Что не так с этим кодом?
- 16. Что не так с этим кодом Python?
- 17. Что не так с этим Javascript кодом?
- 18. AS3 Что не так с этим кодом?
- 19. Что не так с этим кодом?
- 20. Ошибка: что случилось с этим кодом Groovy?
- 21. Что случилось с этим кодом Ajax?
- 22. Что не так с этим простым кодом?
- 23. Что не так с этим кодом сборки?
- 24. Что не так с этим кодом?
- 25. Что не так с этим кодом matplotlib?
- 26. , что случилось с этим кодом (.net 2.0)
- 27. что не так с этим opencv кодом
- 28. что случилось с этим кодом jQuery?
- 29. Что не так с этим кодом? (AJAX)
- 30. Что не так с этим PHP-кодом?
Для начала вы дважды набрали «продвижение». – Moses
Что вы пытаетесь сделать? Каков ожидаемый результат? У вас есть синтаксические ошибки? Нам нужна дополнительная информация, чтобы помочь вам =) – Ian
Ответ: В этом нет ничего плохого. Я уверен, что все три переменные должным образом оцениваются (не определены в двух из трех случаев). Либо это, либо вам не хватает шести или семи круглых скобок. – Stephen