Непонятки с 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:14. |