Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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_Variables - Fatal编程技术网

Javascript算法理解

Javascript算法理解,javascript,variables,Javascript,Variables,好的,所以我知道代码总体上在做什么。我理解为什么输出就是我得到的输出。但就我个人而言,我无法弄清楚javascript代码让浏览器达到最终输出的确切步骤。这段代码如何让浏览器知道在添加一加二和三之后,接下来应该添加三加二而不是三加三?基本上,我是想一步一步地弄清楚,当浏览器使用这些代码时,它是如何使用这些代码的。我终于意识到,由于下面的答案,我只是想得太多了,因为它实际上非常简单。二加一得三。A变为2 B变为3。三加二得五。A变为三B变为五。如果C最终为偶数,则会发生这种情况,并将其保存在变量s

好的,所以我知道代码总体上在做什么。我理解为什么输出就是我得到的输出。但就我个人而言,我无法弄清楚javascript代码让浏览器达到最终输出的确切步骤。这段代码如何让浏览器知道在添加一加二和三之后,接下来应该添加三加二而不是三加三?基本上,我是想一步一步地弄清楚,当浏览器使用这些代码时,它是如何使用这些代码的。我终于意识到,由于下面的答案,我只是想得太多了,因为它实际上非常简单。二加一得三。A变为2 B变为3。三加二得五。A变为三B变为五。如果C最终为偶数,则会发生这种情况,并将其保存在变量sum中。这种情况一直持续到4000000年

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
的值。我真的不理解正确执行的步骤。谢谢你的帖子,因为看到变量旁边的数字让我意识到我把事情搞得太复杂了,并对自己进行了二次猜测。你似乎对我的帖子理解得最好。我想知道确切的步骤。你的回答真的帮我弄明白了这些。