Câu hỏi phỏng vấn Javascript
Câu hỏi

Kết quả của vòng lặp sau là gì? Hãy giải thích tại sao?

Câu trả lời

javascript Copy
  for (var i = 0; i < 3; i++) {
    setTimeout(() => console.log(i), 1);
  }

  for (let i = 0; i < 3; i++) {
    setTimeout(() => console.log(i), 1);
  }
  • A: 0 1 2 and 0 1 2
  • B: 0 1 2 and 3 3 3
  • C: 3 3 3 and 0 1 2

Đáp án: C

Bởi vì event queue trong JavaScript, hàm setTimeout callback sẽ được gọi sau khi vòng lặp được thực hiện. Bời vì biến i trong vòng lặp đầu tiên được khai báo với từ khóa var, nên nó sẽ là...

middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Hạn chế của phương thức private trong JavaScript là gì?

middle

Đoạn code sau có xảy ra lỗi gì không? Hãy giải thích tại sao?

middle

Làm thế nào để so sánh hai object trong JavaScript?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào