Оператор && и его не понимание
Привет всем.
Совсем недавно начал учить ява-скрипт, столкнулся с примером, в котором используется оператор &&. Не могли бы подсказать, что он значит? Я гуглил, а ответ не нашел. Пример, в котором мне попался данный оператор, выглядит так: var times = 0; while (times > 0 && times < 3) { console.log("the loop ran"); times++; } Заранее благодарю. |
&& - логическое И || - логическое ИЛИ |
Всем спасибо за ответы.
|
|
Речь шла о понимании.
Для общего понимания достаточно понимать, что логическое И означает "одновременно", то есть представляющий это И в javascript оператор && вернёт истину (true) только тогда, когда оба операнда истинны и вернёт ложь (false), когда хотя бы один из операндов false. А для использования не плохо бы (хотя и необязательно) также знать как происходит процесс выполнения этого оператора интерпретатором: так как сначала происходит определение значения левого операнда, а при хотя бы одном false возвращается false, то желательно помещать левым операндом выражение, которое чаще возвращает false (тогда интерпретатору реже придётся определять значение правого операнда). |
bes,
вы слишком всё переврали. Операторы && и || не возвращают true или false, они возвращают значения своих операндов. alert(1 && 'test'); |
Никогда бы не подумал, а не подключился бы, так бы и дальше думал, спасибо, что просветили (видимо до конца не понимал, так как думал, что в качестве выражений для этих операторов могут использоваться только логические выражения, возвращающие true или false).
|
Паттерны использования, например:
1. Получить первое существующее (истинное) значение var el = document.getElementById('id1') || document.getElementById ('id2') || document.getElementById('id3'); 2. Получить значение свойства, если родительский объект для этого свойства существует (не придумал лучше формулировки) var text = el && el.innerHTML; var baz = foo && foo.bar && foo.bar.baz; Плохие паттерны использования (для справки, чтоб знать, что плохие): Замена оператору if foo && bar(); foo || baz(); |
Цитата:
на один пост выше промотай. Чья тема? ) |
Цитата:
|
Часовой пояс GMT +3, время: 07:51. |