<input id="inp"></input>
<button type="button" onclick="fibbon();">Submit!</button>
<p id="JS"></p>
<script>
var n = document.getElementById("inp").value;
var fibbon = function(n){
if ((n===1) || (n===2)){
return 1;
}
else{
return fibbon(n-1)+fibbon(n-2);
}
document.getElementById("JS").innerHTML = fibbon;
};
</script>
我正在尝试使用输入,但是当我输入数字时它不会显示数字
答案 0 :(得分:2)
我认为你正在寻找类似的东西......
<input id="inp"></input>
<button type="button" onclick="callFibbon();">Submit!</button>
<p id="JS"></p>
<script>
function callFibbon(){
var n = document.getElementById("inp").value;
if(isNaN(n)){
alert("Not a valid number");
return false;
}
var val = fibbon(Number(n));
document.getElementById("JS").innerHTML = val;
}
var fibbon = function(n){
if ((n===1) || (n===2)){
return 1;
}
else if(n>2){
return fibbon(n-1)+fibbon(n-2);
}
}
</script>
输入:
1 ---结果是:1
2 ---结果是:1
3 ---结果是:2
12 ----结果是:144
答案 1 :(得分:-1)
你需要转换为数字,你可能要调用fibbon函数传递值作为参数,希望下面的函数可以帮助:
<script>
var n = document.getElementById("inp").value;
var fibbon = function(n){
if ((n===1) || (n===2)){
return 1;
}
else{
return fibbon(n-1)+fibbon(n-2);
}
};
document.getElementById("JS").innerHTML = fibbon(+n);
</script>
答案 2 :(得分:-2)
默认情况下,输入值是字符串。您需要将其转换为数字。
var fibbon = function(nString){
var n = Number(nString);
if(n==NaN){
alert("Not A Number");
return false;
}
if ((n===1) || (n===2)){
return 1;
}
else{
return fibbon(n-1)+fibbon(n-2);
}
document.getElementById("JS").innerHTML = fibbon;
};