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