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

Giải thích sự khác biệt về cách sử dụng foo giữa function foo() {}var foo = function() {} là gì?

Câu trả lời

Sự khác biệt chính giữa function foo() {} (Function Declaration) và var foo = function() {} (Function Expression) liên quan đến hoisting và cách chúng được tải trong JavaScript.

  1. Hoisting: Function Declaration (function foo() {}) được hoisted, nghĩa là nó được đưa lên đầu phạm vi (scope) trước khi bất kỳ mã nào được thực thi. Điều này cho phép bạn gọi hàm trước khi nó được định nghĩa trong mã nguồn. Ngược lại, Function Expression (var foo = function() {}) không được hoisted. Bạn không thể gọi hàm này trước khi nó được định nghĩa vì biến foo chỉ được hoisted như một biến chưa được khởi tạo, không phải là hàm.
  2. Thời điểm đánh giá: Với Function Declaration, hàm được đánh giá và có sẵn để sử dụng ngay k...
Bạn cần đăng nhập để xem
middle

middle

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

middle

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

senior

Triển khai Singleton Design Pattern trong Javascript như thế nào?

middle

Giải thích về phép gán qua giá trị và phép gán qua tham chiếu trong Javascript?

Bình luận

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

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