2013-03-06 3 views
0

JavaScript를 처음 사용하고 코드가 이상하다고 생각합니다. 어떻게 해결할 수 있습니까? 또한 함수 내에서 함수를 어떻게 호출 할 수 있습니까? 모든 값을 숫자 또는 부동 소수점으로 변환하고 솔루션을 호출하려고합니다.어떻게이 JavaScript 클래스를 향상시킬 수 있습니까?

<script type="text/javascript"> 

    function Math(){       

     var firstNumber = document.getElementById("firstnumber"); 
     var secondNumber = document.getElementById("secondnumber"); 

     this.add = function(){   
      var fN = Number(firstNumber.value); 
      var sN = Number(secondNumber.value); 
      return (fN + sN); 
     } 

     this.sub = function(){   
      var fN = Number(firstNumber.value); 
      var sN = Number(secondNumber.value); 
      return (fN - sN); 
     } 

     this.div = function(){   
      var fN = Number(firstNumber.value); 
      var sN = Number(secondNumber.value); 
      return (fN - sN); 
     } 


     this.mul = function(){   
      var fN = Number(firstNumber.value); 
      var sN = Number(secondNumber.value); 
      return (fN * sN); 
     } 

    } 

    var myNewMath = new Math();   

</script> 
+0

우리는 아마 당신이 무슨 일을하는지 이해하기 위해 HTML 부분을 놓친다. 그것은 일종의 계산기 운동입니까? – Sebas

+1

실제로 발생한 문제는 무엇입니까? – benzonico

+4

JavaScript에는 이미 ['Math'] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math)라는 이름이 있습니다. 그것을 clobber하지 마십시오. – kojiro

답변

1

코드는 모든 초보자 너무 나쁜 , 조금 반복하지 않을 경우입니다.

은 아마 Number(element.value)에 반복 호출을 피하기 위해 같은 것을 할 것입니다, 지금은 단순하게 유지하려면 :

function Calculator() { // NB: not "Math" - that's a standard object     

    var firstNumber = document.getElementById("firstnumber"); 
    var secondNumber = document.getElementById("secondnumber"); 

    function op1() { 
     return Number(firstNumber.value); 
    } 

    function op2() { 
     return Number(secondNumber.value); 
    } 

    this.add = function() {   
     return op1() + op2(); 
    } 

    this.sub = function() { 
     return op1() - op2(); 
    } 

    ... 
} 
+0

+1 아마도 호출 할 때'new'를 사용하기를 원할 것입니다. –

+0

@MatthewBlancarte 이미 OP를 알고있는 것 같습니다. – Alnitak

+0

아, 코드 덤프에서 스크롤바를 보지 못했습니다. 너는 완전히 옳다. :) –

관련 문제