А в чем проблема? Твой код работает
var num = prompt("число",2);
var exp = prompt("степень", 10);
var result = 1;
var cnt = 1;
function pow(num, exp){
while(cnt<=exp){
result*=num;
cnt++;
}
return alert(result);}
pow(num, exp)
Проблема в том, что ты ее не вызвал?

Или "рекурсию парсить" не получается? Попробуй через моноид, в категории эндофункторов.