JavaScript for 循环是如何执行的?

Shi*_*lpa -1 javascript asynchronous synchronous execution

for 循环之后的代码在顶部的for 循环之前执行。Javascript是同步执行的,为什么先在for循环后执行?

function solution(A) {
  let diff = [];

  for (let i = 1; i < A.length; i++) {
    let sum1 = 0;
    let sum2 = 0;

    for (let j = 0; j < i - 1; j++) {
      sum1 += A[j];
      console.log('Why this is executing later? ' + sum1);
    }

    for (let k = i; k < A.length; k++) {
      sum2 += A[k];
    }

    console.log('Why this is executing frist? ' + sum1);
    diff.push(Math.abs(sum1 - sum2));
  }

  return Math.min(...diff);
}

solution([1,2,3,4,5]);
Run Code Online (Sandbox Code Playgroud)

And*_*Ray 5

您的外循环第一次运行时,i将是1. 您的内部循环检查 if j<i-1,并j从 开始0。所以你的内循环第一次执行时,它会检查 if 0 < 0,这是假的,并会立即退出,而不是执行内循环。