30/09/2018, 16:34
setTimeout(fn,0) trong javascript có ý nghĩa gì?
Em có làm theo một số tutorial trên http://tympanus.net/codrops thấy có trường hợp sủ dụng setTimeout(fn,0) em có tìm hiểu thử thì ra cái này http://stackoverflow.com/questions/779379/why-is-settimeoutfn-0-sometimes-useful và một số nữa, đọc xong thấy vẫn rất lan man, mong mọi người giúp đỡ!
Bài liên quan
setTimeout(function,time)
theo mình biết thì nó gọi lại hàmfunction
sau 1 khoảng thời giantime
.uk, mình cũng biết vậy nhưng tại sao trong một số trường hợp người ta lại cho thời gian bằng 0, mình không hiểu chỗ đó!
Về cơ bản thì browser không thực hiện chính xác đến millisecon nên 0 hay 1 thì cũng như nhau. Đây là 1 cái mẹo phổ biến để buộc cái hàm trong
setTimeout
thực thi sau khi các dòng lệnh chính đã chạy xong.Khi bạn gọi
setTimeout
thì cái hàm đượcsetTimeout
sẽ được thực thi trong 1 call stack mới (không biết dịch là gì ) sau khi stack chính thực thi xong.Ví dụ như bạn có đoạn code bên dưới
Thì kết quả sẽ là
Bạn xem thêm ở đây nhé http://geekabyte.blogspot.com/2014/01/javascript-effect-of-setting-settimeout.html
Cám ơn dangh mình mò mãi