Проблема с задачей (нан не нан)
Вложений: 2
Добрый день уважаемые форумчане, растолкуйте мне почему Нан не Нан и условие не выполняется!
|
maksimov.ua,
Цитата:
|
isNaN --сработало..
возвраты prompt'а преобразовал вот так : var result = + product1 + + product2; проверился Иснаном: if ( isNaN(result)){ alert("Введены не числа"); и посчитался при false : else { result = result.toFixed(10); result = Math.abs(result); alert(result + " грн"); Но вопрос закрыт не полностью: Почему отладчик хрома в вотче показал result без кавычек, если это строка? |
Цитата:
|
стоп!!! Понимаю, что буду закидан камнями, но НаН строка?
|
maksimov.ua,
alert(typeof NaN) |
Цитата:
Цитата:
Вывод - не строка. |
Вложений: 1
Собственно код:
var product1 = prompt("Введите цену первого товара: ",""); var product2 = prompt("Введите цену второго товара",""); var result = + product1 + + product2; alert(typeof NaN); alert(typeof result); if (result == NaN){ //if ( isNaN(result)){ alert("Введены не числа"); } else { result = result.toFixed(10); result = Math.abs(result); alert(result + " грн"); } Дальше после проверки переходим сразу на else, так как проверка возвращает false. Но отладчик показывает, что сравниваю число с НаН, который в свою очередь является тоже число. watch из crome product1: "1" product2: "q" result: NaN result == NaN: false typeof NaN: "number" typeof result: "number" |
Цитата:
|
Часовой пояс GMT +3, время: 10:10. |