本篇是 Chrome Extension 的第七篇入門文章。
[入門] Chrome Extension 入門 #7
- 85
- 0
- Chrome Extension
- 2024-11-26
本篇是 Chrome Extension 的第七篇入門文章。
Memoize 是一種函式型程式的設計技巧, 基本上它的意思就是在函式中記錄計算的結果, 下一次再遇到同一個輸入參數時, 就可以把先前的計算結果直接取出, 不用再算一次。
這篇文章介紹在 JavaScript 中直接使用 id 而不透過語義化選擇器的方法, 以及注意事項。
我是一個很懶又有點潔癖的 dev, 能不用套件就不用套件, 能使用 plain native language 就不去用其它花俏的招式。但這個習慣每次在維護他人專案時就往往破功。HTML5 的 template 功能已經不算是新東西了, 但當我不得不用時, 我憑著印象寫出來的程式卻錯了, 只好心不甘情不願地回頭把文件重新查一遍。這篇就算是我的筆記吧!
本篇是 Chrome Extension 的第六篇入門文章。
本文介紹對同一個 DOM 元素一次加入相同處理函式的做法。
本篇是 Chrome Extension 的第五篇入門文章。
本篇是 Chrome Extension 的第四篇入門文章。
這裡要講的是一個真的是內行人才知道的問題及解決方法。其實並沒有什麼太大的學問, 但就是要知其所以然, 才能找到解法。
JavaScript 經常有一些和其它程式語言不一樣的地方。例如它的 Scoping 原則, 千萬不要直覺地以自己的想像去揣摩; 應該實際驗證一下, 才能確定。
看完前更兩篇入門介紹, 相信你對 ChrExt 已經有些基本的概念了。我們現在再來介紹其它較為深入的應用。
承上篇, 即便你只學會簡單的 Chrome Extensioin 撰寫技巧, 你也一定能夠感受到它的巨大潛力。在本文裡, 我將會介紹其它技巧, 請耐心看下去。
在過去的將近十年間, 我陸續在不同的公司裡寫了幾十個 Chrome Extension (以下簡稱 ChrExt)。不過, 由於這幾個 ChrExt 都是任務型的專案, 寫好之後就放著了, 而且很少需要修改。正因為如此, 每次我又需要寫 ChrExt 時, 幾乎都要重頭開始。
每次都重頭開始, 其實是蠻痛苦的事。所以, 不如我來寫個入門文章, 當做 ChrExt 的懶人包。當我下次又要重頭開始時, 學習曲線可以快速縮短。這個入門文章不只供我自己看, 也在此分享給大家。
本文是針對 d3.js 的入門介紹 #1
本文是針對 d3.js 的入門介紹 #2
想要知道某個功能能不能在瀏覽器中使用, 除了在網路上到處搜尋以外, 另有一個很簡單的方法。如下所述...
JSON.NET 可以讓我們很方便地讀寫 JSON 字串並對應到 C# 類別。在大部份的時候我們都可以簡單地使用 SerializeObject() 和 DeserializeObject() 方法進行轉換。但是一旦遇到 JavaScript 日期, 這招可能就行不通了。因為有些 JavaScript 開發人員會使用一種特殊的 JavaScript 日期表示法 (不是 Date 型別, 而是 Int64 型別) 來代表日期...
作為一個前端語言, JavaScript 天生就註定要比其它任何一種語言要處理更多的字串。如何才能更有效地處理字串, 想必也是每個程式設計師最關心的問題。最近, 我看到有人很堅持地在程式中把個別的字串以陣列元素方式宣告, 然後把它們 join 起來, 說這樣才能達到最佳的效能, 其速度遠比使用字串的加號運算來得快! 起初我也半信半疑, 直到我寫了一個程式來仔細分析為止...
在物件導向理論中, 關於 Delegation (委託) 的概念, 有人說是由麻省理工學院 Media Lab 的首席研究員 Henry Lieberman 於 1986 年在 OOPLSA '86 Conference 中發表的一篇文章 ("Using prototypical objects to implement shared behavior in object-oriented systems") 裡面提出來之後, 才逐漸發揚光大...
Timeline 是一個 JavaScript 程式庫, 它並不是 jQuery 套件, 所以無需載入 jQuery 主程式。要如何解釋 Timeline 的功用, 這實在有點難; 但如果你是噗浪的愛用者, 那麼你馬上就可以心領神會。因為它使用起來幾乎跟噗浪一模一樣(只差不能留言跟按讚而已)...