Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基本JavaScript-斐波那契序列生成器不工作_Javascript - Fatal编程技术网

基本JavaScript-斐波那契序列生成器不工作

基本JavaScript-斐波那契序列生成器不工作,javascript,Javascript,由于某种原因,我不熟悉JavaScript,我的斐波那契序列生成器。什么是斐波那契序列,很简单,它是一个序列,取序列的最后两个数字,然后将它们相加,生成下一个数字。这里有一个例子。0, 1, 1, 2, 3, 5, 8, 13, 21... 我试图用while语句创建一个循环,在该循环中,曾经是第一个数字(在本例中为0)的变量转换为一个新数字,即该数字加上第二个数字(在本例中为1)。示例:VarFirstNumber(它是0)+VarSecondNumber(它是1)=VarFirstNumbe

由于某种原因,我不熟悉JavaScript,我的斐波那契序列生成器。什么是斐波那契序列,很简单,它是一个序列,取序列的最后两个数字,然后将它们相加,生成下一个数字。这里有一个例子。0, 1, 1, 2, 3, 5, 8, 13, 21... 我试图用while语句创建一个循环,在该循环中,曾经是第一个数字(在本例中为0)的变量转换为一个新数字,即该数字加上第二个数字(在本例中为1)。示例:VarFirstNumber(它是0)+VarSecondNumber(它是1)=VarFirstNumber(它不等于1,因为我们添加了0+1)。如果这在一个循环中进行,那么,理论上,它可以无限地将最后一个数字和它前面的一个数字相加,然后将第二个数字与最后一个数字相加,得到相加的结果。这是我的代码,它根本不起作用。任何帮助都将不胜感激。希望我已经正确地解释了我自己

var firstNumber=0;
var secondNumber=1;
函数fibonacciGenerator(n){

而(secondNumber
firstNumber+secondNumber==firstNumber;
这不是给变量赋值的方法

您需要在函数末尾添加一个return语句

这有用吗

var firstNumber=0;
var secondNumber=1;
函数fibonacciGenerator(n){

而(secondNumber
firstNumber+secondNumber==firstNumber;
这不是给变量赋值的方法

您需要在函数末尾添加一个return语句

这有用吗

var firstNumber=0;
var secondNumber=1;
函数fibonacciGenerator(n){

而(secondNumber您需要分配第三个变量来存储每次迭代后第一个和第二个变量的总和,然后您应该使循环从2开始,而不是从1开始,因为在循环开始之前您已经分配了它, 另一件事,当你们把一个值从一个变量分配给另一个变量时,它是从右边到左边工作的,所以它应该是这样的

 firstNumber = firstNumber + secondNumber;
 secondNumber = secondNumber + firstNumber;
所以编辑之后会是这样

 firstNumber = firstNumber + secondNumber;
 secondNumber = secondNumber + firstNumber;
函数fibonacciGenerator(n){
var a=0,
b=1,
C

对于(设i=2;i你需要分配第三个变量来存储每次迭代后第一个和第二个变量的总和,你应该让你的循环从2开始,而不是从1开始,因为你在循环开始之前已经对它进行了赋值, 另一件事,当你们把一个值从一个变量分配给另一个变量时,它是从右边到左边工作的,所以它应该是这样的

 firstNumber = firstNumber + secondNumber;
 secondNumber = secondNumber + firstNumber;
所以编辑之后会是这样

 firstNumber = firstNumber + secondNumber;
 secondNumber = secondNumber + firstNumber;
函数fibonacciGenerator(n){
var a=0,
b=1,
C

for(let i=2;i Hello,感谢您的帮助。不幸的是,我对这门语言还不是很有经验。这是我在阅读您的问题后所做的,但它不起作用。我做错了什么吗?我只更改了最后一行。return console.log(fibonacciGenerator(50));谢谢!它在这一页上工作得非常好(堆栈溢出)当我点击run,但我在chrome控制台或任何其他代码游乐场页面上都没有得到任何信息,这是为什么?你知道吗?看起来算法没有正确实现,因为50的Fibonacci等于
12586269025
不是
89
@Joseph感谢你指出了这一点,但这不是我需要的。50并不代表Fibonacci50,是的,等于你所说的。代码中的50表示生成器应该达到的最大值,这样它就不会永远运行。是的,它工作了,我在我的chrome浏览器上做了一次硬刷新,我不知道发生了什么。谢谢,@Pain.Hello,谢谢你特意来帮助我。不幸的是,我在这方面不是很有经验他的语言还没有。这是我在读了你的问题后所做的,但它不起作用。我做错了什么吗?我只更改了最后一行。return console.log(fibonacciGenerator(50));谢谢!它在这个页面上非常有效(堆栈溢出)当我点击run,但我在chrome控制台或任何其他代码游乐场页面上都没有得到任何信息,这是为什么?你知道吗?看起来算法没有正确实现,因为50的Fibonacci等于
12586269025
不是
89
@Joseph感谢你指出了这一点,但这不是我需要的。50并不代表Fibonacci50,是的,等于你所说的。代码中的50表示生成器应该达到的最大值,这样它就不会永远运行。是的,它工作了,我在chrome浏览器上做了一次硬刷新,我不知道发生了什么。谢谢,@Pain。这是一种非常聪明和不同的方式来达到我需要的结果。谢谢你@Joseph!我没有想想看。这是一个非常聪明和不同的方式来达到我需要的结果。谢谢你@Joseph!我没有想到这一点。