Trong javascript, là có bất kỳ khác nhau giữa hai:MyFunction() vs window.setTimeout ('MyFunction()', 0)?
// call MyFunction normal way
MyFunction();
// call MyFunction with setTimeout to 0 //
window.setTimeout('MyFunction()', 0);
Lý do tôi hỏi là vì thời gian gần đây tình cờ gặp những tình huống mà các mã chỉ hoạt động nếu tôi sử dụng setTimeout(0)
để gọi hàm. Để hiểu biết của tôi, setTimeout(0)
giống hệt như gọi một hàm trực tiếp bởi vì bạn không đặt bất kỳ sự chậm trễ nào. Nhưng từ những gì tôi thấy nó hoạt động như thế nào trong mã, setTimeout(0)
dường như được thực thi cuối cùng.
Ai đó có thể làm rõ chính xác cách setTimeout(0)
thực sự được gọi theo thứ tự của phần còn lại của cuộc gọi chức năng khác không?
http: // stackoverflow.com/questions/779379/why-does-settimeoutfn-0-sometimes-help –