[JavaScript] Templates 的應用

我是一個很懶又有點潔癖的 dev, 能不用套件就不用套件, 能使用 plain native language 就不去用其它花俏的招式。但這個習慣每次在維護他人專案時就往往破功。HTML5 的 template 功能已經不算是新東西了, 但當我不得不用時, 我憑著印象寫出來的程式卻錯了, 只好心不甘情不願地回頭把文件重新查一遍。這篇就算是我的筆記吧!

...繼續閱讀 »

在 JSON.NET 中自動對應 JavaScript 時間

JSON.NET 可以讓我們很方便地讀寫 JSON 字串並對應到 C# 類別。在大部份的時候我們都可以簡單地使用 SerializeObject() 和 DeserializeObject() 方法進行轉換。但是一旦遇到 JavaScript 日期, 這招可能就行不通了。因為有些 JavaScript 開發人員會使用一種特殊的 JavaScript 日期表示法 (不是 Date 型別, 而是 Int64 型別) 來代表日期...

...繼續閱讀 »

JavaScript 字串處理效能分析

作為一個前端語言, JavaScript 天生就註定要比其它任何一種語言要處理更多的字串。如何才能更有效地處理字串, 想必也是每個程式設計師最關心的問題。最近, 我看到有人很堅持地在程式中把個別的字串以陣列元素方式宣告, 然後把它們 join 起來, 說這樣才能達到最佳的效能, 其速度遠比使用字串的加號運算來得快! 起初我也半信半疑, 直到我寫了一個程式來仔細分析為止...

...繼續閱讀 »

JavaScript 中的 Delegation

在物件導向理論中, 關於 Delegation (委託) 的概念, 有人說是由麻省理工學院 Media Lab 的首席研究員 Henry Lieberman 於 1986 年在 OOPLSA '86 Conference 中發表的一篇文章 ("Using prototypical objects to implement shared behavior in object-oriented systems") 裡面提出來之後, 才逐漸發揚光大...

...繼續閱讀 »

使用 Timeline 自製噗浪式河道

Timeline 是一個 JavaScript 程式庫, 它並不是 jQuery 套件, 所以無需載入 jQuery 主程式。要如何解釋 Timeline 的功用, 這實在有點難; 但如果你是噗浪的愛用者, 那麼你馬上就可以心領神會。因為它使用起來幾乎跟噗浪一模一樣(只差不能留言跟按讚而已)...

...繼續閱讀 »

在 alert() 視窗訊息中顯示引號字元

在 JavaScript 中,你可以使用 alert('something') 來顯示一個警告視窗。但是針對這種應用,萬一字串中有引號字元怎麼辦呢?例如,如果你要顯示的訊息是 Let's think about it. 或者 You'd better chek with your administrator. 之類的。因為訊息中的引號會讓你的 JavaScript 程式發生錯誤...

...繼續閱讀 »

使用 JavaScript 實作一個只接受數字並具備運算功能的文字框

在這個程式中唯一的文字方塊裡,你只能輸入數字和 + - * / % 等五個運算符號,如果你輸入一個正確的運算式,例如 100+100,在按下 Enter 之後,文字會執行運算並使用結果取代原來的數字。如果運算式有誤,則會以錯誤訊息取代(你也可以修改程式,把錯誤訊息改成空字串)...

...繼續閱讀 »