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
我的代码有什么问题?
- 您在
result
定义之前访问它。所以你应该把它们移到函数的顶部
这里应该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))
我写了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
我的代码有什么问题?
- 您在
result
定义之前访问它。所以你应该把它们移到函数的顶部 这里应该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))