javascript计算功能

时间:2015-04-15 14:55:20

标签: javascript javascript-events

这个JS程序应该返回函数ggt(x,z)。我尝试以这种方式实现它,一切都很好,除了这部分我相信:document.getElementById("demo").innerHTML=ggt(x,z); 应该添加什么才能使此功能正常工作?感谢

<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">   
    function calculate(){
        var a=document.getElementById("in1").value;
        var b=document.getElementById("in2").value;
        if(isNaN(a) || isNaN(b)){
          alert("Not a number");
        }else{
          ggt(a,b);
        }
    }

    function ggt(x,y){
        if (y==0){
            return x;
        }else{
            var z=x%y; 
            document.getElementById("demo").innerHTML=ggt(x,z);
            return ggt(x,z);
        }
    }
</script> 
<div>
<input id="in1" type="text" />
<input id="in2" type="text" />
<input type="button" onclick="calculate()" value="compute" />

<p id="demo"></p>
</div>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

function calculate()

{
  var a = document.getElementById("in1").value;
  var b = document.getElementById("in2").value;

  if (isNaN(a) || isNaN(b)) {
    alert("Not a number");
  } else {

    var values = ggt(a, b);
    
    console.log(values);

    if (values.valid) {
      document.getElementById("demonumber").innerHTML = values.number;
      document.getElementById("demomodulus").innerHTML = values.modulo;
    }
  }
}

function ggt(x, y) {
  var res = {};

  if (y == 0) {
    res.valid = false;
  } else {
    res.valid = true;
    res.number = x;
    res.modulo = x % y;
  }

  return res
}
<div>
  <input id="in1" type="text" />
  <input id="in2" type="text" />
  <input type="button" onclick="calculate()" value="compute" />

  <p id="demonumber"></p>
  <p id="demomodulus"></p>
</div>