我想做一个脚本,它接受插入的数字,并使用斐波那契数列来显示直到那个特定数字的所有数字。
所以我已经有了斐波那契代码,但是我似乎不能正确地编写脚本,所以它将接受插入的数字。当我使用console.log中的斐波那契代码时,它工作得很好。
这就是脚本
var n =$("#num").val();
$('#shw').click(function(){
function fibonacci(n){
var a,b,result;
a=0;
b=1;
result=b;
for(var i=1; i<n; i++)
{
document.write(result+" " );
result=a+b;
a=b;
b=result;
};
};
});
Please Enter Number: <input type="number" id="num" name="num"> <button name="shw" id="shw">Submit</button>
我不能接受插入的值,并显示斐波那契数列,直到第n个数字。该按钮什么也不做。
发布于 2019-01-28 02:15:58
您需要读取click
事件的侦听器内部的输入值,并最终使用该值调用fibonacci()
。我为此重新组织了您的代码:
function fibonacci(n)
{
var a = 0, b = 1, result = 1;
for (var i = 1; i < n; i++)
{
document.write(result + " ");
result = a + b;
a = b;
b = result;
}
}
$('#shw').click(function()
{
var n =$("#num").val();
fibonacci(n);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Please Enter Number: <input type="number" id="num" name="num">
<button name="shw" id="shw">Submit</button>
发布于 2019-01-28 02:12:07
将您的var n移动到click函数中。否则,在用户输入任何输入之前分配n
<script>
$('#shw').click(function(){
function fibonacci(){
var a,b,result;
var n =$("#num").val();
a=0;
b=1;
result=b;
for(var i=1; i<n; i++)
{
document.write(result+" " );
result=a+b;
a=b;
b=result;
};
};
});
</script>
发布于 2019-01-28 02:14:23
将n
移至内部函数并调用fibonacci
。在您的代码中,您只是定义了fibonacci
,而没有调用它。
一个更好的选择是直接将fibonacci
分配给点击事件。
$('#shw').click(function(){
var n =$("#num").val();
function fibonacci(n){
var a=0,b=1,result=1;
for(var i=1; i<n; i++){
document.write(result+" " );
result=a+b;
a=b;
b=result;
};
};
fibonacci(n)
});
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
<body>
Please Enter Number: <input type="number" id="num" name="num"> <button name="shw" id="shw">Submit</button>
</body>
https://stackoverflow.com/questions/54391273
复制相似问题