Разжёванного ответа не нашел в гугле, хотелось бы узнать, в правильном направлении я мыслю и понимаю данную функцию? Если есть недочеты, поправьте пожалуйста.
function pow (x, n) {
let result = x;
for (let i = 1; i < n; i++) {
result = result * x;
}
return result;
}
console.log(pow (3, 2));
1). В функции у нас есть 2 параметра - x, n(им передается аргумент при вызове - это 3, 2);
2). let result = x; в переменную
result мы присваиваем значение - x(
т.е 3);
3). Запускаем цикл, он будет работать
n количество раз, т.е 1 раз, исходя от заданного аргумента при вызове;
4). Ныряем в тело цикла, на данный момент в переменной
result у нас число -
3, в параметре
x - тоже
3, т.е мы 3*3, после чего выражение присваиваем переменной
result - это
9;
5). Цикл снова проверяет условие, но выдаст
false, т.к 2 не меньше, чем 2, прерывает весь цикл и записью
return result; прерывает функцию, после чего выводит общий результат - это
9.