Для чего используется строка return undefined;? Я удалила, но вроде результат компиляции не изменился. И когда actiion равен undefined?
function menu(n){
if(n==1) return function(x, y){
return x+y;
}
else if(n==2) return function(x, y){
return x - y;
}
else if(n==3) return function(x, y){
return x * y;
}
return undefined;
}
for(var i=1; i < 5; i++){
var action = menu(i);
if(action!==undefined){
var result = action(5, 4);
console.log(result);
}
}
Функция по умолчанию возвращает undefined, поэтому после удаления последней строки в функции поведение не меняется. Это строка просто дублирует неявное поведение. Можно написать по разному
function a() {}; // вернет undefined
function b() {return}; // тоже вернет undefined
function c() {return undefined}; //опять тоже самое
Касательно второго вопроса: когда ни одно из условий не сработает, в вашем случае это если передали не 1, 2 или 3
Эта строка здесь не нужна. Если функция завершается без исполнения команды return, то результат этой функции - undefined. Смысл return undefined; - показать, что программист не забыл что-то вернуть, а возвращает undefined специально.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости