Javascript算法理解
好的,所以我知道代码总体上在做什么。我理解为什么输出就是我得到的输出。但就我个人而言,我无法弄清楚javascript代码让浏览器达到最终输出的确切步骤。这段代码如何让浏览器知道在添加一加二和三之后,接下来应该添加三加二而不是三加三?基本上,我是想一步一步地弄清楚,当浏览器使用这些代码时,它是如何使用这些代码的。我终于意识到,由于下面的答案,我只是想得太多了,因为它实际上非常简单。二加一得三。A变为2 B变为3。三加二得五。A变为三B变为五。如果C最终为偶数,则会发生这种情况,并将其保存在变量sum中。这种情况一直持续到4000000年Javascript算法理解,javascript,variables,Javascript,Variables,好的,所以我知道代码总体上在做什么。我理解为什么输出就是我得到的输出。但就我个人而言,我无法弄清楚javascript代码让浏览器达到最终输出的确切步骤。这段代码如何让浏览器知道在添加一加二和三之后,接下来应该添加三加二而不是三加三?基本上,我是想一步一步地弄清楚,当浏览器使用这些代码时,它是如何使用这些代码的。我终于意识到,由于下面的答案,我只是想得太多了,因为它实际上非常简单。二加一得三。A变为2 B变为3。三加二得五。A变为三B变为五。如果C最终为偶数,则会发生这种情况,并将其保存在变量s
var a = 1;
var b = 2;
var sum = 0;
while ( a < 4000000) {
if(a % 2 === 0) {
sum += a;
}
c = a + b;
a = b;
b = c;
}
console.log(sum);
var a=1;
var b=2;
var总和=0;
而(a<4000000){
如果(a%2==0){
总和+=a;
}
c=a+b;
a=b;
b=c;
}
控制台日志(总和);
a
和b
不等于相同的数字。在第一次迭代中:
c = a + b // 1 + 2
a = b // 2
b = c // 3
您不明白什么?
a=b
将变量a的值设置为变量b的值b=c
将变量b的值设置为变量c的值
这在整个循环中持续存在。当while重新启动时,a、b和c保留您刚才设置的值。基本上,我认为发生的是,1被添加到2中,导致3,当然,由于b=c,b现在是3,然后导致a=b。之后,如果是偶数,则将a添加到总和中。数是基本数,因此当您设置
a=b
时,您将a
设置为b
的值。我真的不理解正确执行的步骤。谢谢你的帖子,因为看到变量旁边的数字让我意识到我把事情搞得太复杂了,并对自己进行了二次猜测。你似乎对我的帖子理解得最好。我想知道确切的步骤。你的回答真的帮我弄明白了这些。