这个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>
答案 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>