Логический && оператор - PullRequest
       1

Логический && оператор

0 голосов
/ 29 сентября 2011

Наличие непредсказуемого результата с использованием логического оператора &&. Если я связываю более двух выражений, предложение if не выполняется. Есть ли ограничение на количество выражений, которые можно объединить с помощью &&?

            if (tTellerProN.checked && tCareProN.checked && tSalesProN.checked) {
                $(flListEmpty).empty();
                $(flListEmpty).append($('<option></option>').val(0).html("Select Role"));
                $('.fl_list1 .list4').each(function (index) {
                    $(flListEmpty).append($('<option> </option>').val(index).html($(this).text()));
                })
            }

Ответы [ 4 ]

4 голосов
/ 29 сентября 2011

&& не является оператором jQuery, это Javascript. jQuery - это библиотека, основанная на Javascript.

Я не уверен, что означает ** в вашей оценке IF, но этот код работает:

var x = true;
var y = true;
var z = true;

alert(x && y && z);  // true
alert(x && y && !z); // false

Я бы предупредил значения ваших параметров 3 .checked и убедился, что они установлены так, как вы ожидали.

2 голосов
/ 29 сентября 2011

Нет, ограничений нет.

Однако, взглянув на ваш код (как мало его и с такими описательными именами переменных), я бы рискнул предположить, что вы на самом деле имеете в виду ||,не &&.

2 голосов
/ 29 сентября 2011

Нет, ограничений нет. Ваше выражение требует, чтобы все три checked значения были true, в противном случае оно вернет false. Один из них должен быть false (или не true), поэтому ваш if выходит из строя.

Для записи: && является частью языка javascript, а не библиотеки jQuery.

0 голосов
/ 29 сентября 2011

Я сделал здесь тестовый пример с && и ||: http://jsfiddle.net/VcmCM/

...