我该如何制作电源方法?

时间:2018-02-06 09:06:11

标签: javascript

我想制作电源方法 我做了这个:

var x = 2, n = 3, i;
for (i = 1; i < n; i++) {
  x = x * x;
}
console.log(x);

这会得到16作为结果,但预期为x^n = 8

3 个答案:

答案 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变量,它将baseexponent次数相乘。

答案 2 :(得分:-2)

您可以使用内置方法Math.pow(number, power)

console.log(Math.pow(2, 10));