var a = +prompt("Введите первое число","");
var operation = prompt("Введите операцию","+, -, /, *, ^");
var b = +prompt("Введите второе число","");
if (!parseInt(a) || !parseInt(b)) {
alert ("Вы ввели неверное число");
}
function sum(a,b) {
return a + b;
}
function subtract(a,b) {
return a - b;
}
function multiply(a,b) {
return a * b;
}
function devizion(a,b) {
if (b === 0){
alert("На ноль делить нельзя!")
}
else {
return a / b;
}
}
function exponentiation(a,b) {
return Math.pow(a,b);
}
function calculate(cb, a, b) {
var result = cb(a, b);
document.write("Результат: " + result);
}
switch (operation) {
case "+":
calculate(sum, a, b);
break;
case "-":
calculate(subtract, a, b);
break;
case "*":
calculate(multiply, a, b);
break;
case "/":
calculate(devizion, a, b);
break;
case "^":
calculate(exponentiation, a, b);
break;
}
Что делают function calculate(cb)
и почему здесь так? они же нигде не обьявляются и это не переменные вроде
var result = cb(a, b);