Предыдущие слова
Логические операторы выполняют логические операции на операнде и часто используются в сочетании с реляционными операторами. Логические операторы объединяют несколько реляционных выражений в более сложное выражение. Логические операторы разделены на три типа: логический не '!', Логический и '&&', логический или '||'. Эта статья представит эти три логических оператора.
Логический нелогичный
Логический не оператор представлен восклицательным знаком (!) И может быть применен к любому значению в Ecmascript. Независимо от типа данных это значение, этот оператор возвращает логическое значение. Логический не оператор сначала преобразует свой операнд в логическое значение, а затем обращает его.
Тип преобразования логических не Паровых операндов в логические типы совпадает с функцией преобразования логического (), за исключением того, что результат инвертируется в конце. Если одновременно используются два логических не оператора, поведение функции логического преобразования () будет фактически моделируется.
console.log (!! undefined); // falseconsole.log (!! null); // falseconsole.log (!! 0); // falseconsole.log (!!-0); // falseconsole.log (!! nan); // falseconsole.log (!! '');//falseconsole
console.log (!! {}); // trueconsole.log (!! []); // trueconsole.log (!! new boolean (false)); // trueconsole.log (!! false); // falseconsole.log (!! new boolean (null); // trueconsole.log (!! null);Логические не операторы часто используются для управления петлями
// логическая переменная (bfound) используется для записи, успешным ли поиск. Когда элемент данных в вопросе будет найден, BFOUND будет установлен на true ,! BFOUND будет равным false, что означает, что прогон будет выпрыгнуть из цикла while var bfound = false; var i = 0; while (! Bfound) {if (avalue [i] == vsearchvalues) {bfound = true; } else {i ++; }}Логика и
Логика и оператор представлены двумя суммами (&&). Есть два операнда. Результат вернет истину, только если оба операнда будут истинными, в противном случае неверно будет возвращено.
// логистическая и (&&) таблица истины, первый операнд, второй операнд результат истинно истинно верно истинное ложное ложное ложное ложное
Логика и операции могут быть применены к любому типу операнда, а не только на логиках. Если один из операндов не является логическим, то логика и операции не обязательно возвращают логическое значение
Логика и операции являются операциями с коротким замыканием. Если первый операнд может определить результат, то второй операнд больше не будет оцениваться.
Для логики, если первый операнд является ложным, независимо от того, какое значение является вторым операндом, результат является ложным, то первый операнд возвращается; Если первый операнд верен, то истинность и ложь от результата такие же, как и TRUE и FALSE второго операнда, то второй операнд возвращается.
// За исключением семи ложных значений ложных, неопределенных, нулевых, +0, -0, NAN и '', все остальные являются истинными значениями console.log ('t' && ''); // Потому что «t» - это истинное значение, оно возвращает '' console.log ('t' && 'f'); // Потому что «t» - это истинное значение, он возвращает «f'console.log ('t' && ''); // Потому что «t» - это истинное значение, он возвращает '' console.log ('' && ''); // Потому что '' - это ложное значение, оно возвращает '' 'console.log (' '&&' '); // Потому что '' - это ложное значение, оно возвращает '' '' console.log ('' && ''); // потому что '' это ложное значение, оно возвращает '' '' '' '' '' ''var i = 1; var result = (true && i ++); console.log (result, i); // Потому что истинность - это истинное значение, выполнение i ++, i - 2, результат - 1var i = 1; var result = (false && i ++); console.log (result, i); // Поскольку false - ложно, я - 1, результат является false.
Логика и операторы могут использоваться несколькими способами, возвращая значение первого логического выражения с помощью false
console.log (true && 'foo' && '' && 4 && 'foo' && true); // ''
Приоритет реляционных операторов выше, чем у логики и (&&) и логики или (||), поэтому аналогичные выражения могут быть записаны непосредственно без добавления скобок.
if (a+1 == 2 && b+2 == 3) {// todo}Логика и операторы могут использоваться вместо структуры
if (a == b) {dosomething ();} // эквивалентно (a == b) && dosomething ();Логика и операторы часто используются в функциях обратного вызова
// Если значение не передается параметру A, a является не определенным значением по умолчанию и является ложным значением, поэтому A () не выполняется для предотвращения ошибок. Если значение передается параметру a, функция A () функция fn (a) {if (a) {a (); }} // эквивалентный для функции fn (a) {a && a ();}Логичный или
Логический или оператор представлен двумя вертикальными линиями (||). Есть два операнда. Только когда оба операнда будут ложными, результат вернется false, в противном случае будет возвращена истина.
// логистическая или (||) Таблица истины, первый операнд, результат второго операнда TRUE TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
Аналогичным образом, логика или операции могут быть применены к любому типу операнда, а не только для логических. Если один из операндов не является логическим, логика или операция не обязательно возвращает логическое значение
Логика или операция также является операцией короткого замыкания. Если первый операнд может определить результат, то второй операнд больше не будет оцениваться.
Для логики или, если первый операнд верен, результат верен независимо от значения второго операнда, и первый операнд возвращается; Если первый операнд является ложным, истинное и ложное из результата такое же, как и true и неверно второго операнда, возвращается второй операнд.
console.log ('t' || ''); // Потому что 't' является истинным значением, он возвращает «t» console.log ('t' || 'f'); // Потому что «t» - это истинное значение, оно возвращает «t» консоль. значение, он возвращает ""var i = 1; var result = (true || i ++); console.log (result, i); // Поскольку истинность является истинным значением, i ++ не выполняется, результат является истинным, i - 1var i = 1; var result = (false || i ++); console.log (результат, i); // Потому что false - false, я 2, результат - 1 - 1 - 1 - 1 - 1 - 1 - 1 - это 1
Точно так же логика или операторы могут использоваться в нескольких конкатенации, чтобы вернуть значение первого логического выражения.
console.log (false || 0 || '' || 4 || 'foo' || true); // 4
Логические или операторы часто используются для установки значений по умолчанию для переменных
// Если объект не передается в параметр p, параметр установлен на пустой объект по функции по умолчанию fn (p) {p = p || {};}Выше приведено полный анализ оператора JavaScript - логические операторы, принесенные вам редактором. Я надеюсь, что все будут поддерживать wulin.com ~