Зачем в коде if? [закрыт]

111
02 декабря 2020, 04:30
Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

Закрыт 1 год назад.

Улучшить вопрос

function Calculator() { 
 
  var methods = { 
    "-": function(a, b) { 
      return a - b; 
    }, 
    "+": function(a, b) { 
      return a + b; 
    } 
  }; 
 
  this.calculate = function(str) { 
 
    var split = str.split(' '), 
      a = +split[0], 
      op = split[1], 
      b = +split[2] 
 
    if (!methods[op] || isNaN(a) || isNaN(b)) { 
      return NaN; 
    } 
 
    return methods[op](a, b); 
  } 
 
  this.addMethod = function(name, func) { 
    methods[name] = func; 
  }; 
} 
 
var calc = new Calculator;

  1. Создается функция конструктор - это указывает большая буква в названии функции
  2. В теле функции создается локальный объект который присваивается в переменную methods
  3. В переменной methods создается 2 метода под названием минус и плюс
  4. Calculate это метод объекта который будем создавать
  5. В теле метода Calculate параметр str будем превращать в массив
  6. А что будем делать if ?
Answer 1

Если вы имеете ввиду эти строки:

    if (!methods[op] || isNaN(a) || isNaN(b)) {
      return NaN;
    }

То здесь проверяется определена ли операция, и числа ли правый и левый агрументы. Например, это условие сработает если вызвать калькулятор с аргументом "1 * 2", так как операции умножения не определено по умолчанию.

READ ALSO
Почему не выводится textContent?

Почему не выводится textContent?

К примеру имеем обычные параграфы

124
Динамическое подключение js скрипта

Динамическое подключение js скрипта

Пишу сайт интернет-магазинВ качестве инструментов голые php,js,css,mysql

105
Как имитировать событие 'change keyup'

Как имитировать событие 'change keyup'

Имею код, которые срабатывает на событие on('change keyup'Нужно имитировать это событие, чтобы запустить этот код

119
RAII для параметра-дескриптора

RAII для параметра-дескриптора

В этой теме уже рассматривалась техника оборачивания WinAPI функций в unique_ptr, однако у меня возник вопрос как это должно реализовываться в функциях,...

146