И Или условия суммирования в Javascript (если $ 1 && ($ 2 || $ 3)) - PullRequest
0 голосов
/ 22 марта 2009

Например. Есть 3 переменные, 1 является обязательным, 2 и 3 являются любыми, поэтому 3 могут быть ложными, если 1 и 2 верны, 2 могут быть ложными, если 1 и 3 верны.

if(xmlhttp.responseText.indexOf("type:SearchList~")>=0 && (obj == "hDrop" || obj == "iDrop")){
}

не работает для меня

Может кто-нибудь определить проблему?

Ответы [ 3 ]

4 голосов
/ 22 марта 2009

Я построил таблицу истинности ваших условий:

1 2 3 R
-------
0 X X 0
1 0 0 0
1 1 X 1
1 X 1 1

Это разрешает до 1 && (2 || 3), поэтому что-то еще не так.

2 голосов
/ 22 марта 2009

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

var a = "yes";
var b = "no2";
var c = true;
alert(c && (a == "yes" || b == 'no'));

Проверьте значения 'obj'. Это строка?

1 голос
/ 22 марта 2009

Ваш код написан правильно, но могут быть ошибки в данных, с которыми вы сравниваете, поэтому проследите, пожалуйста, данные и затем убедитесь, что они правильно выполняют условие Вы можете отслеживать с помощью оповещения (данные);

...