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

senior

Giải thích về Hoisting trong Javascript?

middle

Symbol trong ES6 là gì?

senior

Prototype 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