在node中,事件循環表現出的狀態與瀏覽器中大致相同。不同的是node中有一套自己的模型。node中事件循環的實現是依靠的libuv引擎。我們知道node選擇chrome v...
在node中,事件循環表現出的狀態與瀏覽器中大致相同。不同的是node中有一套自己的模型。node中事件循環的實現是依靠的libuv引擎。我們知道node選擇chrome v...
給定一個大小為 n 的數組,找到其中的多數元素。多數元素是指在數組中出現次數大于 ? n/2 ? 的元素。 你可以假設數組是非空的,并且給定的數組總是存在多數元素。 示例 1...
如果給前端開發者最常用編程語句排名,console.log()一定名列前茅。但估計很多人對console.log()的認識還在只能簡單的打印文本信息而已。但其實console...
注:本篇文章運行環境為當前最新版本的谷歌瀏覽器(72.0.3626.109)最近看到這樣一道有關事件循環的前端面試題: 這道題主要考察的是事件循環中函數執行順序的問題,其中包...
這里考核的其實是非嚴格相等運算符==的原理,下面是摘自MDN的解釋。 相等操作符比較兩個值是否相等,在比較前將兩個被比較的值轉換為相同類型。在轉換后(等式的一邊或兩邊都可能被...
寫一個flatten函數,實現扁平化數組的效果。比如: let arr = [1, 2, [3, 4, 5, [6, 7], 8], 9, 10, [11, [12, 13]...
一、前言 緩存可以說是性能優化中簡單高效的一種優化方式了。一個優秀的緩存策略可以縮短網頁請求資源的距離,減少延遲,并且由于緩存文件可以重復利用,還可以減少帶寬,降低網絡負荷。...
首先看看new具有哪些功能: 創建一個對象,對象的原型指向構造函數的prototype。 構造函數里的this指向的就是這個對象。 執行構造函數里的語句。 但還要考慮一點,構...
集合是由一組無序且唯一(即不能重復)的項組成的。這個數據結構使用了與有限集合相同的數學概念,但應用在計算機科學的數據結構中。ES6也有原生Set類的實現。集合李包含下面這些方...
鏈表數據結構 鏈表存儲有序的元素集合,但不同于數組,鏈表中的元素在內存中并不是連續放置的。每個元素由一個存儲本身的節點和一個指向下一個元素的引用(指針)組成。下圖展示了一個鏈...
隊列的結構特點 隊列是遵循FIFO(First In First Out,先進先出,也稱為先來先服務)原則的一組有序的項。隊列在尾部添加新元素,并從頂部移除元素。最新添加的元...
棧數據結構 棧是一種遵從后進先出(LIFO)原則的有序集合。新添加的或待刪除的元素都保存在棧的同一端,稱作棧頂,另一端就叫棧底。在棧里,新元素都靠近棧頂,舊元素都接近棧底。 ...
享元(flyweight)模式是一種用于性能優化的模式,“fly”在這里是蒼蠅的意思,意為蠅量級。享元模式的核心是運用共享技術來有效支持大量細粒度的對象。 如果系統中因為創建...
組合模式如果運用得當,可以大大簡化客戶的代碼。一般來說,組合模式適用于以下這兩種情況。 表示對象的部分-整體層次結構。組合模式可以方便的構造一棵樹來表示對象的部分-整體結果。...