nykakdelishki
@nykakdelishki
Системный аналитик

Почему не работает функция?

Есть функция:
function num_translate (number) {
	switch (number) {					//Перевод  римского числа
		case 'I': number = 1; break;
		case 'II': number = 2; break;
		case 'III': number = 3; break;
		case 'IV': number = 4; break;
		case 'V': number = 5; break;
		case 'VI': number = 6; break;
		case 'VII': number = 7; break;
		case 'VIII': number = 8; break;
		case 'IX': number = 9; break;
		case 'X': number = 10; break;
		default: throw new Error('Доступен ввод только до 10');
		}
}

Но когда я ее вызываю num_translate(num1)Она почему то не срабатывает...Ошибок не выдает , программа работает дальше без выполнение функции .

Если без функции все работает, как починить ?
  • Вопрос задан
  • 158 просмотров
Решения вопроса 1
@McBernar
Ну, наверное, потому что вы ничего не возвращаете из функции.

То, что вы присвоили переменной number новое значение — не значит, что вы переопределили ее в приложении. У каждой функции свой скоуп. Этот number останется внутри функции. Вы передаете переменную в функцию не по ссылке, а по значению. То есть, значение вашей num1 копируется в функцию, но вне этой функции оно останется прежним.

Сделайте return конвертированного числа из функции и запишите результат в константу.

const result = num_translate(num)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы