首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用插入值显示斐波那契数列

使用插入值显示斐波那契数列
EN

Stack Overflow用户
提问于 2019-01-28 02:08:01
回答 4查看 49关注 0票数 0

我想做一个脚本,它接受插入的数字,并使用斐波那契数列来显示直到那个特定数字的所有数字。

所以我已经有了斐波那契代码,但是我似乎不能正确地编写脚本,所以它将接受插入的数字。当我使用console.log中的斐波那契代码时,它工作得很好。

这就是脚本

代码语言:javascript
运行
复制
  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;
          };
      };
  });
代码语言:javascript
运行
复制
 Please Enter Number: <input type="number" id="num" name="num"> <button name="shw" id="shw">Submit</button>

我不能接受插入的值,并显示斐波那契数列,直到第n个数字。该按钮什么也不做。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-01-28 02:15:58

您需要读取click事件的侦听器内部的输入值,并最终使用该值调用fibonacci()。我为此重新组织了您的代码:

代码语言:javascript
运行
复制
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);
});
代码语言:javascript
运行
复制
<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
EN

Stack Overflow用户

发布于 2019-01-28 02:12:07

将您的var n移动到click函数中。否则,在用户输入任何输入之前分配n

代码语言:javascript
运行
复制
<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>
票数 0
EN

Stack Overflow用户

发布于 2019-01-28 02:14:23

n移至内部函数并调用fibonacci。在您的代码中,您只是定义了fibonacci,而没有调用它。

一个更好的选择是直接将fibonacci分配给点击事件。

代码语言:javascript
运行
复制
$('#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)
});
代码语言:javascript
运行
复制
<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>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54391273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档