我想制作电源方法 我做了这个:
var x = 2, n = 3, i;
for (i = 1; i < n; i++) {
x = x * x;
}
console.log(x);
这会得到16
作为结果,但预期为x^n = 8
。
答案 0 :(得分:4)
此功能无法计算功率,因为它会对中间结果进行平方。您应该使用这样的单独变量:
var x= 2 ,n= 3, i;
var y = x;
for(i=1;i<n;i++){
x *= y;
}
console.log(x);
答案 1 :(得分:2)
尝试递归:
const power = ( base, exponent ) => {
if( exponent === 0 ) return 1;
else return base * power( base, exponent - 1 );
};
或者尝试正常的循环:
const power = ( base, exponent ) => {
let result = 1;
for( let i = 0; i < exponent; i++ )
result *= base;
return result;
};
您的工作不起作用的原因是它尝试为x = x^2
步骤计算n
。因此,计算为2^2 = 4^2 = 16
。相反,上面的代码有一个result
变量,它将base
和exponent
次数相乘。
答案 2 :(得分:-2)
您可以使用内置方法Math.pow(number, power)
。
console.log(Math.pow(2, 10));