2014-09-19 103 views
1

我有一段代碼來計算一個數字的功率,代碼對我來說工作正常,但我不確定它是否具有良好的性能。Imroving the javascript code

<html> 
    <head> 
<SCRIPT> 
function power(){ 
    var number = document.getElementById("number").value; 
    var power = document.getElementById("power").value; 
    var newNumber = number; 
    for(var i=0; i<(power-1);i++){ 
    newNumber *= number; 
    } 
    document.getElementById("output").innerHTML= newNumber; 
} 
</SCRIPT> 
    </head> 
    <body> 
    <input type="text" id ="number" placeholder="Enter number"> 
    <input type="text" id ="power" placeholder="Enter power"> 
    <input type="submit" onclick = "power()"> 
    <p id ="output"></p> 
    </body> 
</html> 

我已經改變了我的代碼,這一點 -

function power(){ 
    var number = document.getElementById("number").value; 
    var power = document.getElementById("power").value; 
    number = Math.pow(number,power) 
    document.getElementById("output").innerHTML= number; 
} 

回答

4

您可以使用Math.pow(base, exponent)

Math.pow()功能基本返回指數冪,即 是,baseexponent。

+0

但爲此,我需要在我的功能之外聲明我的變量數量和功率,這不是一個好習慣。 – Siddharth 2014-09-19 07:04:29

+1

嗯,不,你不:'var newNumber = Math.pow(number,power);' – Cerbrus 2014-09-19 07:04:55

+0

是的,我知道了:),非常感謝 – Siddharth 2014-09-19 07:05:51

1

你的代碼,如果你不想使用Math.pow是「優化」,你不能獲得更好的性能,而不使用Math.pow。

+0

是的,那是我的問題,謝謝 – Siddharth 2014-09-19 07:11:09

2

我必須指出,使用for-loop的解決方案只適用於功率爲正整數的情況。它返回一個錯誤的值爲所有非整數權力,當權力< 1.這就是爲什麼使用Math.pow()是明智的選擇。

相關問題