閉包 (Closure) 是在開發 JavaSctip 時,宣告函式的一種模式,以在 MDN 中是這樣解釋:

閉包 (Closure)是指能使用獨立(自由)變數的函式(在使用運用,但在封閉的作用域中定義)。換言之,這些函式能「記得」被建立時的環境。

光看上面的文字敘述,其實是有點難懂的,下面我們以實例來說明:

閱讀全文»

JavaScript 有 兩種 宣告變數 的類型,全域變數(Global Variable)區域變數(Local Variable), 而兩者的差異就是 作用域(scope)

雖然 JavaScript 宣告變數的方式非常的容易,不過對這兩者的 作用域(scope),是需要花點時間去了解的,也是 JavaScript 的基本功:

閱讀全文»

我們一般在撰寫 JavaScript 的編碼時,往往會認為正在撰寫的 應用 會照著我們撰寫的程式碼一行一行的執行,其實並不盡然~

我們寫的程式碼會先被 JavaScript 的編譯器進行轉換,將之轉換成給電腦執行的編碼,這邊將舉例來說明 JavaScript 其中的一項編譯的特性「Hoisting」,對其有個初步了解,可以幫你避免掉一些非預期的錯誤!

閱讀全文»

相信大家對 jQuery 的 resizescroll 等事件並不陌生,近期在開發 jQuery Plugin 時 , 碰到一個問題 , 我需要在 resize 事件發生時 , 針對 視窗的 放大縮小 , 執行不同的 method 與 event

這類的需求,其實是非常常見的,像是 scroll 事件中,只針對滾輪在 往上 滾動時,讓隱藏的選單出現於畫面中,就是我們在使用網頁的使用者體驗中,最常見的例子:

閱讀全文»