Có gì sai với vòng lặp này?

Vòng lặp thứ hai là Unreachable code vì đoạn mã bên dưới vòng lặp này sẽ không bao giờ đến được [false luôn sai và bạn không bao giờ thay đổi nó]. Vậy là thừa

Xem Chương 14. 21.

Java biết rằng lập trình viên là con người. ] nó sẽ thông báo cho bạn về điều này để tránh nhầm lẫn

Lưu ý rằng while[false] hoặc vòng lặp thứ hai bạn có khác với if[false]...while[false] [hoặc vòng lặp bạn có] không có ý nghĩa vì mã bên dưới nó sẽ không được thực thi. Không giống như if[false] mà có thể có else, vì vậy trình biên dịch không phàn nàn về điều đó trong trường hợp này

Về bản cập nhật OP

Trong trường hợp thứ ba, sẽ không có lỗi biên dịch vì giá trị false đã được gán cho biến và trong trường hợp này, biến có thể được gán lại để có giá trị true trong đó. Vì vậy trình biên dịch không phát sinh lỗi. Lưu ý rằng nếu biến được khai báo là true2 thì trình biên dịch sẽ phát sinh lỗi vì biến này không bao giờ được gán giá trị mới, do đó mã bên dưới vòng lặp true3 sẽ không thể truy cập được

Ngoại lệ JavaScript "khai báo trong phần đầu của vòng lặp for-of không thể có bộ khởi tạo" xảy ra khi phần đầu của vòng lặp for. of loop chứa một biểu thức khởi tạo chẳng hạn như for [const i = 0 of iterable]. Điều này không được phép trong các vòng lặp for-of

SyntaxError: for-of loop variable declaration may not have an initializer. [V8-based]
SyntaxError: a declaration in the head of a for-of loop can't have an initializer [Firefox]
SyntaxError: Cannot assign to the loop variable inside a for-of loop header. [Safari]

SyntaxError

người đứng đầu của một cho. vòng lặp chứa một biểu thức khởi tạo. Nghĩa là, một biến được khai báo và gán giá trị for [const i = 0 of iterable]. Điều này không được phép trong các vòng lặp for-of. Bạn có thể muốn một vòng lặp for cho phép khởi tạo

const iterable = [10, 20, 30];

for [const value = 50 of iterable] {
  console.log[value];
}

// SyntaxError: a declaration in the head of a for-of loop can't
// have an initializer

Bạn cần loại bỏ bộ khởi tạo [value = 50] trong phần đầu của vòng lặp for-of. Có thể bạn định đặt 50 làm giá trị offset, trong trường hợp đó bạn có thể thêm nó vào thân vòng lặp chẳng hạn

Ngoại lệ chỉ dành cho chế độ nghiêm ngặt của JavaScript "các khai báo đầu vòng lặp for-in có thể không có bộ khởi tạo" xảy ra khi phần đầu của một for. in chứa một biểu thức khởi tạo, chẳng hạn như for [var i = 0 in obj]. Điều này không được phép trong các vòng lặp for-in ở chế độ nghiêm ngặt. Ngoài ra, các khai báo từ vựng với các bộ khởi tạo như for [const i = 0 in obj] cũng không được phép ở bên ngoài chế độ nghiêm ngặt

SyntaxError: for-in loop variable declaration may not have an initializer. [V8-based]
SyntaxError: for-in loop head declarations may not have initializers [Firefox]
SyntaxError: a lexical declaration in the head of a for-in loop can't have an initializer [Firefox]
SyntaxError: Cannot assign to the loop variable inside a for-in loop header. [Safari]

SyntaxError

người đứng đầu của một cho. trong vòng lặp chứa một biểu thức khởi tạo. Nghĩa là, một biến được khai báo và gán giá trị for [var i = 0 in obj]. Ở chế độ không nghiêm ngặt, phần khai báo đầu này bị bỏ qua một cách âm thầm và hoạt động như for [var i in obj]. Tuy nhiên, ở chế độ nghiêm ngặt, một SyntaxError được ném. Ngoài ra, các khai báo từ vựng với các bộ khởi tạo như for [const i = 0 in obj] cũng không được phép ở bên ngoài chế độ nghiêm ngặt và sẽ luôn tạo ra một ____23_______

Ví dụ này ném một SyntaxError

const obj = { a: 1, b: 2, c: 3 };

for [const i = 0 in obj] {
  console.log[obj[i]];
}

// SyntaxError: for-in loop head declarations may not have initializers

Bạn có thể loại bỏ bộ khởi tạo [

const obj = { a: 1, b: 2, c: 3 };

for [const i = 0 in obj] {
  console.log[obj[i]];
}

// SyntaxError: for-in loop head declarations may not have initializers
3] trong phần đầu của vòng lặp for-in

const obj = { a: 1, b: 2, c: 3 };

for [const i in obj] {
  console.log[obj[i]];
}

cho. trong vòng lặp. Bạn có định sử dụng vòng lặp

const obj = { a: 1, b: 2, c: 3 };

for [const i = 0 in obj] {
  console.log[obj[i]];
}

// SyntaxError: for-in loop head declarations may not have initializers
4 thay vì vòng lặp
const obj = { a: 1, b: 2, c: 3 };

for [const i = 0 in obj] {
  console.log[obj[i]];
}

// SyntaxError: for-in loop head declarations may not have initializers
5 để lặp lại một vòng lặp
const obj = { a: 1, b: 2, c: 3 };

for [const i = 0 in obj] {
  console.log[obj[i]];
}

// SyntaxError: for-in loop head declarations may not have initializers
6 không?

Có gì sai với các vòng lặp?

vòng lặp for--và vòng lặp while-- được gọi là các câu lệnh điều khiển, nghĩa là chúng phải được đặt bên trong một hàm và không thể được sử dụng dưới dạng độc lập. This inherently increases the chance you'll end up manipulating variables outside of the loop's scope.

Tôi có thể sử dụng cái gì thay cho vòng lặp for?

Sử dụng map[] thay vì vòng lặp for[] . Nếu bạn chỉ có kiến ​​thức về vòng lặp for[] trong JavaScript, bài viết này sẽ yêu cầu bạn hiểu cú pháp Biểu thức hàm mũi tên [a. k. a. chức năng “mũi tên mập”].

Sử dụng vòng lặp for trong JavaScript có tệ không?

Sử dụng vòng lặp 'for' không sai, nhưng có nhiều lựa chọn thay thế khác giúp mã của chúng ta dễ đọc hơn và ít phức tạp hơn về bản chất

3 loại vòng lặp for khác nhau là gì?

Có ba loại vòng lặp for trong Java. .
Đơn giản cho vòng lặp
For-each hoặc Enhanced for Loop
Gắn nhãn cho vòng lặp

Chủ Đề