2014-09-19 5 views
1

코드 번호를 계산할 수있는 코드 조각이 있습니다. 코드가 제대로 작동하지만 성능이 현저한 지 확실하지 않습니다.자바 스크립트 코드

<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> 

나는이 내 코드를 변경 - 당신은 Math.pow(base, exponent)을 사용할 수 있습니다

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() 기능은 baseexponent, 인지, 지수 전원에 기지를 반환합니다.

+0

하지만 내 변수와 변수를 내 함수 외부에서 선언해야하므로 좋은 연습이 아닙니다. – Siddharth

+1

어, 아니, 네가 하지마 :'var newNumber = Math.pow (number, power);' – Cerbrus

+0

네, 고마워요. – Siddharth

1

Math.pow를 사용하고 싶지 않으면 코드가 "최적화 됨"이므로 Math.pow를 사용하지 않으면 성능을 향상시킬 수 없습니다.

+0

네, 제 질문이었습니다. – Siddharth

2

for 루프를 사용하는 솔루션은 전력이 양의 정수일 때만 작동한다는 점을 지적해야합니다. 모든 정수가 아닌 힘과 잘못된 값을 반환합니다. < 1. Math.pow()를 사용하는 것이 현명한 선택입니다.