在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  HTML/ JavaScript 中的 setTimeout 和 setInterval 中

JavaScript 中的 setTimeout 和 setInterval 中的時間是怎么控制的

比如說,我寫了一個5秒的定時器或延時器,js和瀏覽器是怎么控制這個時間的,也就是為什么5秒鐘以后才執(zhí)行,它的內(nèi)部是怎么實現(xiàn)的,為什么5秒鐘之前不會執(zhí)行,這個時間是怎么控制的,特別想知道這個問題,網(wǎng)上也找不到相應的答案

回答
編輯回答
茍活

是定時器搞得鬼。JavaScript引擎都有一個定時器timer,當調(diào)用setTimeout時,JS引擎會在設定的ms后將傳入的函數(shù)放入事件隊列,排隊等待主線程調(diào)用。

這里涉及的知識包括線程、同步、異步、事和件循環(huán)。由于題主關注的問題在于如何控制延遲時間,所以這些問題不在贅述,不過這些知識點值得深入學習。

2018年4月2日 07:53
編輯回答
半心人

瀏覽器引擎有JS引擎,毫無疑問專門解析JS代碼的,同時瀏覽器還有屬于自己的時間模塊,我喜歡這個叫至于你也可以理解為別的方面,而setTimeout與setInterval都隸屬于這時間模塊,而且最重要的是 定時器屬于異步的 也就是只有同步的代碼完成后才會執(zhí)行異步的代碼 這就是所謂的線程空余時,事件循環(huán)。 所以兄弟,如果非要說底層 希望這個回答對你有所幫助,當然這也是我自己的理解

2017年6月28日 01:12