Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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为什么返回7?_Javascript - Fatal编程技术网

javascript为什么返回7?

javascript为什么返回7?,javascript,Javascript,var-arr=[1,4,6,4,2]; console.logarr[0] forvar i=0;我就这么简单: 在循环中,当i等于0时,arr[i]等于1,arr[i+2]等于6。 然后,在arr[0]上加6,所以1+6等于7 伪代码: i = 0 arr[i] == arr[0] == 1 arr[i+2] == arr[2] == 6 arr[i] = arr[0] + arr[2] = 1 + 6 = 7 因为您通过执行此行更改了索引0处的值 arr[i] += arr[i+2];

var-arr=[1,4,6,4,2]; console.logarr[0] forvar i=0;我就这么简单: 在循环中,当i等于0时,arr[i]等于1,arr[i+2]等于6。 然后,在arr[0]上加6,所以1+6等于7

伪代码:

i = 0
arr[i] == arr[0] == 1
arr[i+2] == arr[2] == 6
arr[i] = arr[0] + arr[2] = 1 + 6 = 7

因为您通过执行此行更改了索引0处的值

arr[i] += arr[i+2]; 
在第一个循环中:

`arr[0] = 1` and `arr[0+2] = 6`
显然

arr[0] = arr[0] + arr[2] is equal to 7
因此:

arr[0] = 7

在for循环的第一次交互期间,即当i=0时,语句arr[i]+=arr[i+2]变为: arr[0]=arr[0]+arr[2]=>
arr[0]=1+6,因为arr[0]=1和arr[2]=6,所以现在arr[0]是7

您要添加数组的第0个索引和第二个索引,以及存储在数组第0个索引中的值。 代码:

输出: 1. 索引:0值:7----->1+6 索引:1值:8----->4+4 索引:2值:8----->6+2 七,


让我们看看发生了什么

var arr = [1,4,6,4,2];
console.log(arr[0])

for(var i =0;i<3;i++){
  arr[i] += arr[i+2];
}
//arr[0]=arr[0]+arr[2]=>1+6=7 is stored in arr[0]
//arr[1]=arr[1]+arr[3]=>4+4=8 is stored in arr[1]
//arr[2]=arr[2]+arr[4]=>6+2=8 is stored in arr[2]

console.log(arr[0]);

在这里你可以看到数组的每个元素都是通过增加它的[+2]邻居来增加的。因此,arr[0]由arr[2]递增,即为7

arr[0]==1&&arr[2]==6和+=与arr[0]=arr[0]+arr[2]相同,因为您要求打印控制台。logarr[0]在for循环arr[0]+=arr[2]中,这意味着arr[0]=1+66+1=7。。。。。。。。
var arr = [1,4,6,4,2];
console.log(arr[0])

for(var i =0;i<3;i++){
  arr[i] += arr[i+2];
}
//arr[0]=arr[0]+arr[2]=>1+6=7 is stored in arr[0]
//arr[1]=arr[1]+arr[3]=>4+4=8 is stored in arr[1]
//arr[2]=arr[2]+arr[4]=>6+2=8 is stored in arr[2]

console.log(arr[0]);