我想制作一个脚本,使用插入的数字并使用斐波那契数列显示所有数字,直到该特定数字为止。
所以我已经有了斐波那契代码,但是我似乎无法正确编写脚本,因此它将使用插入的数字。当我从console.log使用fibonacci代码时,它可以正常工作。
这是脚本
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个数字。该按钮不起作用。
答案 0 :(得分:1)
您需要在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>
答案 1 :(得分:0)
将变量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>
答案 2 :(得分:0)
将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>
答案 3 :(得分:0)
点击按钮后获取您的电话号码n
!
var btn = $('#shw');
var input = $("#num");
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;
};
};
btn.click(function(){
fibonacci(input.val());
});
<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>