Показать сообщение отдельно
  #1 (permalink)  
Старый 19.10.2014, 17:01
Новичок на форуме
Отправить личное сообщение для Wixeman Посмотреть профиль Найти все сообщения от Wixeman
 
Регистрация: 19.10.2014
Сообщений: 2

Выводит 'NaN'
Здравствуйте! Скрипт запускается при нажатии на кнопку в HTML. Там все хорошо. Вот скрипт JS:
function calculation() {
  var firstNum = prompt('Enter first number: '),
    secondNum = prompt('Enter second number: '),
    operating = prompt('Enter operating with number: '),
    result;
  
  // string to number

  var nFirstNum = (+firstNum / 1), 
    nSecondNum = (+secondNum / 1); 
  
  switch(operating) {
    case '+':
      result = (nFirstNum + nSecondNum);
      break
    case '-':
      result = (nFirstNum - nSecondNum);
      break
    case '*':
      result = (nFirstNum * nSecondNum);
      break
    case '/':
      result = (nFirstNum / nSecondNum);
      break
    case '':
      result = 'ERROR: Values are empty!';
      break
    case undefined:
      result = 'ERROR: Calcule is falied!';
      console.log('ERROR: Result is undefined!');
      break
    case NaN:
      result = 'ERROR: Answer is not a number!';
      console.log('ERROR: Result is Nan!');
      break
    default:
      result = 'ERROR: Operating is not correct!';
      console.log('ERROR: Operating is not correct!');
  } // switch
  alert(result);
};

При значении result равным NaN, скрипт должен выводить 'ERROR: Answer is not a number!'. Но он все-равно выводит NaN. Проверить это можно, введя в nFirstNum и nSecondNum строку, а в operating любое арифметическое действие. Подскажите пожалуйста, как исправить код?

Последний раз редактировалось Wixeman, 19.10.2014 в 17:18.
Ответить с цитированием