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

Sự khác biệt giữa await và từ khóa yield trong Javascript là gì?

middle

Symbol trong ES6 là gì?

middle

Trong Javascript, sự khác biệt giữa throw Error('msg') so với throw new Error('msg') là gì?

Bình luận

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

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