Vòng lặp và return trong JavaScript

Giả sử chúng ta có một hàm trả về tổng các số từ 1 đến 5:

javascriptfunction func() {
  let sum = 0;
  
  for (let i = 1; i <= 5; i++) {
    sum += i;
  }
  
  return sum;
}

let res = func();
console.log(res); // sẽ hiển thị 15

Bây giờ giả sử chúng ta đặt return bên trong vòng lặp, như thế này:

javascriptfunction func() {
  let sum = 0;
  
  for (let i = 1; i <= 5; i++) {
    sum += i;
    return sum;
  }
}

let res = func();
console.log(res);

Trong trường hợp này, vòng lặp sẽ chỉ chạy một lần lặp và sẽ tự động thoát khỏi hàm (và đồng thời thoát khỏi vòng lặp). Và chỉ sau một lần lặp, biến sum sẽ chỉ chứa số 1, chứ không phải toàn bộ tổng cần thiết.

Задание 1

Điều gì sẽ được hiển thị trong console khi thực thi đoạn mã sau:

javascriptfunction func(num) {
  let sum = 0;
  
  for (let i = 1; i <= num; i++) {
    sum += i;
    return sum;
  }
}

console.log( func(5) );

Hãy giải thích tại sao. Tác giả của đoạn mã này muốn làm gì? Hãy sửa lỗi của tác giả.