国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

淺談Javascr-ipt線程及定時機制

2019-11-02 15:43:19
字體:
來源:轉載
供稿:網友

  這篇文章主要介紹了淺談Javascript線程及

姐妹網名[www.la240.com/html2017/1/3/]
定時機制的相關資料,需要的朋友可以參考下

  setTimeout、setInterval的使用

  Javascript api文檔中定義setTimeout和setInterval第二個參數意義分別為間隔多少毫秒后回調函數被執行和每隔多少毫秒回調函數被執行。但隨著工作經驗的積累,我們發現事實并非如此。

  比如

  ?

1 2 3 4 5 div.onclick=function(){ setTimeout(function(){ document.getElementById('input').focus(); },0); }

  就解釋不通了,立即執行就立即執行唄,干嘛還要設置個定時兜個圈子呢。

  又有一天你寫了下面一段代碼

  ?

1 2 setTimeout(function(){while(true){}},100); setTimeout(function(){alert('你好');},200);

  第一行代碼死循環,結果造成第二行alert始終沒有出現,為啥哩?

  單線程or多線程?

  原來,Javascript引擎是單線程運行的,瀏覽器只有一個線程在運行JavaScript程序。因為單線程的設計,所以免去了復雜的多線程同步問題。

  當設置一個定時的時候,瀏覽器會在設定的時間后將你指定的回調函數插入任務序列,而非立即執行。如果設定定時時間為0,表示立即插入任務序列,而不是立即執行,仍然要等隊列中任務執行完畢,輪到你,你才執行。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 忻州市| 嘉定区| 吴旗县| 镇坪县| 霍山县| 昌宁县| 泰和县| 武冈市| 呼玛县| 民乐县| 明光市| 蒙山县| 罗江县| 林芝县| 麻江县| 城固县| 安化县| 徐汇区| 高要市| 抚顺县| 垣曲县| 临澧县| 纳雍县| 临泽县| 张家川| 博爱县| 华宁县| 安多县| 鸡东县| 沂南县| 石阡县| 商河县| 西华县| 涡阳县| 盐山县| 临西县| 浦城县| 施秉县| 吴桥县| 循化| 营口市|