function pow(x, n) { if (n == 1) { return x; } else { return x * pow(x, n - 1); } } alert( pow(2, 3) ); // 8
I don't know how pow (x, n-1) works.
If we repeat it until if (n == 1), isn't the return value 2?