摘要:一的第三個及更多的參數定時器啟動時候,第三個以后的參數是作為第一個的參數傳進去。中規定的最小時間不是,而是。另外,如果筆記本電腦處于電池供電狀態,和以上的版本,會將時間間隔切換到系統定時器,大約是毫秒。
一.setTimeout
1.setTimeout的第三個及更多的參數
//定時器啟動時候,第三個以后的參數是作為第一個func()的參數傳進去。 function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(resolve, ms, "我是setTimeout的第三個參數,將作為setTimeout的第一個參數的參數傳遞進去") }) } timeout(3000).then((value) => { console.log(value)//"我是setTimeout的第三個參數,將作為setTimeout的第一個參數的參數傳遞進去" }) function sum(x, y) { console.log(x+y) //4 } setTimeout(sum, 1000, 1, 3);
2.setTimeout(function, 0) 發生了什么
解釋setTimeout(function, 0) 這個常用的“奇技淫巧”很簡單,就是為了將function里的任務異步執行,0不代表立即執行,而是將任務推到消息隊列的最后,再由主線程的事件循環去調用它執行。HTML5 中規定setTimeout 的最小時間不是0ms,而是4ms。事實上,setTimeout有一個最小執行時間,當指定的時間小于該時間時,瀏覽器會用最小允許的時間作為setTimeout的時間間隔,也就是說即使我們把setTimeout的毫秒數設置為0,被調用的程序也沒有馬上啟動。這個最小的時間間隔是多少呢?這和瀏覽器及操作系統有關。
1.HTML5標準規定
setTimeout的最短時間間隔是4毫秒;
setInterval的最短間隔時間是10毫秒,也就是說,小于10毫秒的時間間隔會被調整到10毫秒
書和MDC2.在John Resig的新書《Javascript忍者的秘密》一書中提到
Browsers all have a 10ms minimum delay on OSX and a(approximately)
15ms delay on Windows. 在蘋果機上的最小時間間隔是10毫秒,
在Windows系統上的最小時間間隔大約是15毫秒。
MDC中關于setTimeout的介紹中也提到,Firefox中定義的最小時間間隔(DOM_MIN_TIMEOUT_VALUE)是10毫秒,HTML5定義的最小時間間隔是4毫秒。3.大多數電腦顯示器的刷新頻率是60HZ,大概相當于每秒鐘重繪60次。因此,最平滑的動畫效的最佳循環間隔是1000ms/60,約等于16.6ms。
為了節電,對于那些不處于當前窗口的頁面,瀏覽器會將時間間隔擴大到1000毫秒。
另外,如果筆記本電腦處于電池供電狀態,Chrome和IE9以上的版本,會將時間間隔切換到系統定時器,大約是16.6毫秒。
目前,經在firefox和chrome里的測試,發現firefox識別的最小時間間隔是0,chrome識別的最小時間間隔是1,看一下demo:
setTimeout(function() { console.log(2) }, 2) setTimeout(function() { console.log(1) }, 1) setTimeout(function() { console.log(0) }, 0)
chrome:
firefox:
看下面的事例。
1.標記格式,不要采取省略形式。
2.在引用多個外部js文件時,省略了將影響到該行下一行的腳本文件,即下一行腳本代碼不能被引用。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/94703.html
摘要:自我學習目前有成千上萬的年輕人在學習和開發,希望獲得一份工作。知道的綁定規則。知道和原型屬性是什么以及它們的作用。高階函數了解函數是中的一級對象,這意味著什么知道從另一個函數返回函數是完全合法的。了解閉包和高階函數允許我們使用的情況。 翻譯原文出處:10 JavaScript concepts you need to know for interviews 之前不是鬧得沸沸揚揚的大漠窮...
摘要:當我嘗試為招一個程序員時,我發現這項任務相當艱巨。我承諾給其中一位侯選人一輛凱迪拉克,但最終沒有打動他。你會得到一輛年的凱迪拉克作為簽約的報酬。大神是一名還不存在的產品的前端工程師。 周五,2010年8月13號, 作者:anutron 編者注: 這篇文章寫于2010年作者工作在Cloudera期間,當時node.js還沒有流行,很多人還瞧不上javascript這門簡陋的腳本,文章提...
摘要:請記住,這些書中的一些可能不是最新的,但概念和基礎仍應適用。是最好的老師之一。的秘密由部分組成。在你完成這些書后,查看書籍和最好的本土書籍。 我看過三本,第1本,第二本,第四本。第一本買的的實體書,其他兩本看的是電子書。第一本是大名鼎鼎老道寫的,書很薄,但是非常經典。javascirpt忍者秘籍是jquery的作者寫的,也是非常經典。you dont kown js系列也是非常好。看了...
摘要:對象與屬性讓我們保持耐心,再梳理一下對象與屬性的關系對象是屬性的集合,當對象的屬性是函數時,我們將其稱之為方法。 這篇博文的主要目的是為了填坑,很久之前我發表了一篇名為關于JavaScript對象中的一切(一) — 對象屬性的文章,想要談一談JavaScript對象,可那時只是貼了一張關于這個主題的思維導圖,今天我會針對這一主題進行展開,將JavaScript對象一些平常不太常用的知識...
摘要:強制類型轉換本章介紹了的數據類型之間的轉換即強制類型轉換包括顯式和隱式。強制類型轉換常常為人詬病但實際上很多時候它們是非常有用的。隱式強制類型轉換則沒有那么明顯是其他操作的副作用。在處理強制類型轉換的時候要十分小心尤其是隱式強制類型轉換。 前言 《你不知道的 javascript》是一個前端學習必讀的系列,讓不求甚解的JavaScript開發者迎難而上,深入語言內部,弄清楚JavaSc...
閱讀 1123·2023-04-26 00:12
閱讀 3249·2021-11-17 09:33
閱讀 1061·2021-09-04 16:45
閱讀 1186·2021-09-02 15:40
閱讀 2146·2019-08-30 15:56
閱讀 2951·2019-08-30 15:53
閱讀 3548·2019-08-30 11:23
閱讀 1932·2019-08-29 13:54