Привет всем! Я новичок в программировании и столкнулся с непонятной для меня ситуацией.
У меня есть функция, которая создает массив случайных чисел:
function createRandomNumbers(count){
var numbers = [];
for (var j = 0; j < count; j++)
{
var randomNum = getRandomValue(1, 500);
var finalValue = randomNum * 100;
numbers.push(finalValue);
}
console.log(numbers);
return numbers;
}
В таком порядке console.log отлично работает и показывает массив в консоли. Но если я поменяю строки местами:
return numbers;
console.log(numbers);
То в консоли ничего не появляется. Объясните пожалуйста, в чем дело? Заранее спасибо за помощь!
return останавливает выполнение функции. Когда интерпретатор достигает этой строки, он завершает выполнение и возвращает значение. Всё, что написано после return, больше не выполняется. Поэтому, чтобы использовать console.log, нужно разместить его до return, если хотите увидеть вывод в консоли.
это базовая логика функций - return завершает выполнение и выходит полностью. представь функцию как коридор, а return как выход. вышел - назад дороги нет, всё что дальше недоступно. когда начинал программировать, постоянно забывал об этом и удивлялся почему код “не доходит” до нужных строчек
Попробуй поставить точку останова после return и посмотри в отладчике. Увидишь, что выполнение просто не доходит до этой строки. return - это стоп-сигнал для функции, всё что после него мертвый код. А зачем тебе вообще console.log после return был нужен?