JavaScript | The Will Will Web

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

前端工程研究:關於 JavaScript 中物件的 valueOf 方法

在 JavaScript 程式語言裡,這個 valueOf() 函式算是非常少用的一個內建函式,甚至於很多人連聽都沒聽過。然而,這個 valueOf() 函式十分重要,我在研究之後發現,理解了 valueOf() 的用途後,不但更能理解 JavaScript 如何針對物件進行數值布林字串運算,更能夠利用 valueOf() 解決 使用者定義物件 無法比對大小的問題。

... 繼續閱讀 ...

介紹好用工具:JS Bin ( 網站前端工程師的學習利器 )

我好像很久沒有介紹好用工具了,並不是我偷懶不玩工具,而是最近介紹工具的資訊大多分享在 Will 保哥的技術交流中心 為主,不知道的人記得過去按「」喔。今天這篇文章,主要介紹 JS Bin 這套好用的網頁前端工具,我覺得 JS Bin 介面非常簡潔,非常對我的胃口,雖然此工具還在不斷發展,但是目前的品質已經非常好了,因此覺得可以發表一篇文章來介紹這套工具,並分享一些不容易發現的使用技巧!

... 繼續閱讀 ...

前端工程的極致精品: AngularJS 開發框架介紹

有好長一段時間,一直在尋尋覓覓一套好用的前端 JavaScript 框架,看過了 ExtJSBackboneJSEmberJSKnockoutJS、… 與各家比較後,最後終於情定 AngularJS 這套。其優異的框架設計像是 宣告式語法 (Directives)、DOM Templates、雙向資料繫結 (Two Way Data-Binding)、相依性注入 (Dependency Injection) 與關注點分離等特性,都深深地打動著我,但神奇的是,在台灣竟然看不到幾篇關於 AngularJS 的文章,這感覺就跟我三年前毅然決然踏入 ASP.NET MVC 的領域一樣,不過,不管別人用不用,我是用定了! (^_^)

... 繼續閱讀 ...

介紹好用工具:Compat Inspector ( 驗證網頁在 IE 的相容性 )

我在前天 2012 微軟開發者大會 (2012 Microsoft Developer Day) 演講的主題是 HTML5 開發技術於 WIN8 及 IE10 上的應用,為此演講我準備了不少內容,總覺準備的剛剛好,而且覺得少講一點都不行,前一天在公司內部排練 (Rehearsal) 時講了 90 分鐘左右才講完,但此次演講只有 50 分鐘而已,因此必須刪除部分內容才能準時講完,而刪除的內容就是很棒的 Compat Inspector 工具,因為我覺得這工具寫成文章比現場演說來的容易學習,就來看看這個神奇的工具如何檢測你的現有網站吧。

... 繼續閱讀 ...

Visual Studio 11 新功能介紹:CSS 與 JavaScript 編輯器

之前在 Visual Studio 2010 中要編寫 CSS 或 JavaScript 不是很方便,充其量只能說是個「文字編輯器」而已,不能被稱為「開發工具」,但這些編輯器在 Visual Studio 11 已經大幅進化,眾多的貼心功能不得不大聲叫好,尤其是 CSS 編輯器改進的幅度最大,就讓我們來看看有哪些增進的好用功能吧。

... 繼續閱讀 ...

2011 微軟開發者大會:Migrate to HTML5

今天是 2011 微軟開發者大會 的日子,我主講 Migrate to HTML5 這個主題,前陣子也做過幾個 HTML5 的專案,當時濛濛懂懂的亂做一通,不知道有那麼多好東西、好工具可用,但因為這次演講我收集了不少資料,也看了幾本 HTML5 的書與 W3C 部分規格內容,而最近 Visual Studio 2010 又推出了個 Web Standards Update for Microsoft Visual Studio 2010 SP1 擴充套件,許多經驗還真的都很自然的連結在一起,這感覺真不錯。備註:一般來說我的演講行程都會公告在 Will 保哥的技術交流中心的 Facebook★★★ Will 保哥的噗浪 ★★★ 上,有興趣的人可以在上面按個讚或按個追蹤。

... 繼續閱讀 ...

jQuery 取得表單資料、單選 Radio 與多選 Checkbox 的方法

透過 jQuery 取得 HTML 表單資料其實不難,但每次遇到要取得 Radio 單選選項的選取值與 Checkbox 多選的選取值都要花些時間查詢取值的方法,網路上能搜尋到的方法也大多是舊版 jQuery 的語法已經不適用了,因此特別撰文筆記一下,也順便把取得各式 HTML 表單欄位的方法做個整理。

... 繼續閱讀 ...

善用 JavaScript 的 debugger 指令讓網頁主動進入中斷點

在我們日常開發的工作裡經常會使用 Visual Studio 對 ASP.NET 進行偵錯,不過都是針對在伺服器端的程式進行偵錯,如果要對前端 (Browser) 的 JavaScript 進行偵錯,就可以利用今天打算介紹的這個開發技巧讓已經開啟指令碼偵錯工具的網頁直接進入中斷點,或是強迫網頁啟動偵錯工具利用 Visual Studio 來對網頁進行偵錯,如此一來就能夠輕易的在前端快樂的遊走每一行 JavaScript 程式碼。

... 繼續閱讀 ...

介紹好用工具:jsFiddle - Online Editor for the Web

今天介紹這工具可說是在 Web 界非常實用的線上編輯器,編輯什麼呢?就是 HTML, CSS, JavaScript 這些東西啦。以往為了要展示或分享一些 JavaScript 的功能或 CSS 樣式,必須要架設一個網站放這些檔案才能讓其他人知道這東西執行後的結果,但 jsFiddle 的出現可謂是佛心來的,幫我們「代管」這個程式碼在「雲」上,讓我們可以將任意網頁內容放上去測試、驗證、存檔、分享。

... 繼續閱讀 ...

如何使用 npm 工具對 node.js 套件進行自動安裝部署

昨天的文章用了比較辛苦的方式安裝好 UglifyJS 這個 node.js 套件,但今天就發現原來 node.js 已經有 npm 工具可管理所有 node.js 相關套件,原本我還以為目前沒什麼 node.js 可用,但得知 npm (Node Package Manager) 之後才發現已經有一大堆好用的工具用 node.js 寫好了,有興趣的快進來瞭解一下吧。

... 繼續閱讀 ...

如何在 node.js 執行 UglifyJS 對 JavaScript 進行壓縮或美化

前一篇文章我介紹了如何在 Cygwin 環境下安裝 node.js,我的原始目的只是為了要能正常執行 UglifyJS 而已,原本想說在 node.js 寫的程式都是 JavaScript 應該不會有什麼問題吧,結果是目前版本的 UglifyJS 還有點小問題導致無法正常執行,解決方式也很簡單,以下是 UglifyJS 的安裝與使用說明。

... 繼續閱讀 ...

如何在 Windows 作業系統安裝 Node.js 執行環境 (Cygwin)

由於 jQuery 1.5 在前幾天釋出正式版,我從 Release Notes 中發現 jQuery Team 這次改用 UglifyJS 對整個 jQuery 原始碼進行編譯 (其實是將 JS 最小化)(原本是使用 Google Closure Compiler ),但 UglifyJS 只能執行在 NodeJS 執行環境下,原本 NodeJS 只能跑在 Linux 環境下,還好從  node.js v0.2 版之後就開始支援在 Windows 環境下執行,以下是設立 NodeJS 執行環境的流程。

... 繼續閱讀 ...

jQuery 1.4.2 的 .live() API 在 IE 無法套用 change 事件 - 更正

前幾天提到的 jQuery 1.4.2 的 .live() API 在 IE 無法套用 change 事件 問題我今天又再次研究了一遍,發現 .live() 的 change 事件在 IE 其實還是可以用的,只是有個非常奇怪的注意事項,雖然上次的方法也可以解決問題,但我還是覺得很納悶想試圖找出根本原因(root cause),今天分析了好幾個小時依然無法確診,我研判可能是因為 jQuery 在程式中用到一些變數引發 Side Effect 而導致此問題。不過,既然無法確診,但我至少能確定如何引發這個 Bug,因此寫了一個簡單的 Bug 驗證程式,我堅信這是 jQuery 1.4.2 的 Bugs,因此也主動回報給 jQuery 開發團隊了 ( Ticket #7002 )。

... 繼續閱讀 ...