ES6 推出了 Map 物件,讓開發者可以透過這個特製資料結構進行鍵值對(key-value pairs)的操作。然而 JavaScript 原始物件(plain object)就可以用來做鍵值對的操作,為什麼還需要 Map 物件呢? Map 物件解決了什麼問題?那與 Set 又有什麼不同呢?本篇來詳細說明一下。
從 1989 年起,HTTP 經歷了數代的演化,從 1 到 1.1 再到 2 以及目前的 3,這些不同版本有些什麼不同呢?不管是前端或後端的面試,都是經常會考的。這篇我們會先針對 1 到 1.1 再到 2 之間的異同處做摘要。
當使用者與瀏覽器互動時,會觸發各類不同的事件 (event),例如常見的點擊 (click)、滑動 (scroll)。我們可以透過 JavaScript 的事件處理器 (handler),來處理這些事件。讓我們能在事件觸發時,做出我們要的效果,例如點擊某個按鈕,觸發某個邏輯。針對瀏覽器事件,最常見的考題之一,便是事件委派、事件捕獲、事件冒泡,是很常見的面試考題。以下將用第一人稱的擬答,來回答「請說明瀏覽器中的事件委派、捕獲、冒泡」這個問題。
當我們已經跟後端請求過某個資源,例如某筆資料或某張圖片,下一次再次請求時,如果該資源沒有改變,這時再次請求會相對浪費網路頻寬;反之,如果第一次請求來的資源已經被存下來,那麼下次請求時,可以直接用該資源,這樣可以減少不必要的請求。而這也是 caching 的概念。
油猴插件為輕量化腳本提供了一個平台,在線編輯器中編寫油猴腳本即時生效,通過 Github、GreasyFork 快速分發。