Непонятки с true/false
Доброго времени суток!
Сразу простите за нелепый вопрос. Есть такой кусок кода
num1 = $('#tablo').text();
if (num1){alert('Что-то есть')} else {alert('Ничего нету!')}
Он рабочий. Знаю, что в конструкции if если условие возвращает true - выполняется 1е выражение, если false - 2е. Так вот, когда я пишу такой код
if (num1 = true){alert('Что-то есть')} else {alert('Ничего нету!')}
Всё время выполняется 1е условие, даже когда должно выполняться 2е. Объясните пожалуйста, в чем логика |
= оператор присваивания
== оператор сравнения Некоторые операторы JavaScript но есть еще один момент если бы num1 был бы boolean то выражение num1 == true было бы хоть избыточным но выполнялось логически верно (как вы это ожидаете), а так будет выполняться блок else |
Цитата:
num1 === trueОднако в вашем случае, текст не может содержать булево (логическое) значение по-определению, поэтому будет достаточно этого:
if (num1) {}
Что будет эквивалентно:
if (num1.length) {}
num1.length вернет 0 или другое полжительное число, что равнозначно true или false. Соответственно, если нужно проверить количество символов в строке, то это можно сделать так:
if (num1.length == 10) {}
|
monolithed, спасибо огромное за развернутый ответ. Теперь всё понятно.
|
Здравствуйте!
Судя по вашему сообщению, вы ну совсем не знаете javascript. Освойте основы языка и вопрос отпадет сам, полностью или частично. А с чем не справитесь - поможем. На сайте javascript можно начать изучать с учебника, раздел Основы javascript. Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/ Задавайте конкретные вопросы по ходу дела. |
| Часовой пояс GMT +3, время: 20:44. |