Javascript: While 循环解决幂为 0 时出错的指数问题

Javascript: While Loop to Solve Exponents Problem Getting Error When Power Equals 0

我写了javascript代码来解决下面的问题>>>

编写一个接受两个参数的取幂函数:

求幂应该return乘幂提高基数的结果。假设 power 参数总是大于或等于零的整数。别忘了任何数的 0 次方都等于 1!

function exponentiate (base, power) {

  if (power === 0){
    return result = 1
  }

  // while loop 
  let count = 0
  let result = 1;

  while (count < power){  

    result *= base
    count += 1
  }

  return result 
}


exponentiate(3, 0)

但我收到以下错误:ReferenceError: result is not defined

我的代码有什么问题?

  1. 您在 result 定义之前访问它。所以你应该把它们移到函数的顶部
  2. 这里应该return直接赋值而不是赋值

    if (power === 0){ return result = 1 }

function exponentiate (base, power) {
  let count = 0
  let result = 1;
  if (power === 0){
    return 1
  }

  // while loop 
  while (count < power){  

    result *= base
    count += 1
  }
  return result 
}

console.log(exponentiate(3, 0))

最简单的是使用 ** exponent operator

const exp = (b,e)=>{
  return b**e
}

console.log(exp(3,0))
console.log(exp(3,1))
console.log(exp(2,10))