Có thể tránh tràn ngăn xếp trong javascript bằng cách sử dụng phương thức setTimeout để gọi hàm thay vì gọi trực tiếp không? Sự hiểu biết của tôi về setTimeout là nó sẽ bắt đầu một callstack mới. Khi tôi nhìn vào callstack của cả hai chrome và IE có vẻ như là các cuộc gọi setTimeout đang chờ đợi cho các cuộc gọi chức năng trở lại.Có gọi setTimeout xóa callstack không?
Đây có phải là tài sản của trình gỡ lỗi hoặc hiểu lầm của tôi không?
EDIT
Trong khi các câu trả lời dưới đây là đúng, vấn đề thực tế tôi đã có được liên quan đến thực tế là tôi đang gọi setTimeout (aFunction(), 10) được đánh giá aFunction ngay lập tức vì sự dấu ngoặc đơn. This question đã phân loại tôi.
Chức năng truyền vào 'setTimeout' không thể được gọi trước khi chức năng đó gọi' setTimeout' trả lại. Vì vậy, có, chức năng đó bắt đầu một callstack mới. –