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

Kết quả data đoạn code sau là gì? Hãy giải thích tại sao?

middle

Kết quả shape của đoạn code sau là gì? Hãy giải thích tại sao?

middle

Sự khác biệt giữa MapWeakMap trong Javascript là gì?

Bình luận

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

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