Привет, люди. Читал ваш учебник и наткнулся на рекурсию...
function pow(x, n) {
return (n != 1) ? x*pow(x,n-1) : x;
}
alert( pow(2, 3) );
Представляю её работу в целом, за исключением одного "но". Когда n!=1 становится false, функция перестаёт сравнивать его с x*pow(x,n-1). Почему? Ведь она может вывести false (ну не просчитывает же программа, что нет, не запуская её), и значение будет верно. И ещё 1 вопрос. Когда дело доходит до запуска новой функции, старая останавливается и ждёт результата?