Javascript Unicode
為了理解 ES6 到底對於 Unicode 萬國碼有哪些新的支援。我們得從原因理解起。
為了理解 ES6 到底對於 Unicode 萬國碼有哪些新的支援。我們得從原因理解起。
在 Javascript ES6 的新功能中,有一個新品種的 function 稱為 generator
這個名字有點奇怪,不過它的行為在第一次看到的時候似乎更加奇怪。這篇筆記目的在解釋關於 generator 基本的運作原理。
從上一篇文章中我們知道了每一個 function 有一個對應的執行環境
其中包含著一個由在該範圍內所有的變數,function 參考,參數定義所組成的 variable object
(變數物件 VO)。
在這篇筆記中我將會深入的探討 JS 底層中的一些觀念,其中最重要的就是執行環境
(Execution Context)。當您閱讀完這篇文章後您可能會比較清楚關於直譯器的運作方式,明白為什麼有些 函式
變數
可以在他們被宣告之前就拿來使用,以及這些值是怎麼決定的。
由於使用 Javasript 偵測元素尺寸的方式並不直覺,每個元素有 6 個 DOM 的尺寸的屬性 offsetWidth
, offsetHight
, clientWidth
, clientHeight
, scrollWidth
, scrollHeight
。
再加上 offset[Top | Left]
, scroll[Top | Left]
, client[Top | Left]
等方向距離的屬性導致這件事變得異常複雜,外加它們都是整數因此在一些操作上會有些誤差。
在開始之前對於那些急性子的人我先提供他們一些對於座標屬性的整理,您可以先大略看過這些整理,後面我們將針對一個實際的例子來練習,這些整理應該可以讓一些老手快速的回復記憶,其實就是因為這樣所以我才紀錄了這篇文章。
Function.prototype.bind 函式繫結大概是當您開始學習 Javascript 時最後關注到的議題。
通常是當您遇到一種狀況:需要在其他 Function
保留 this
的執行環境(Context)。
講執行環境可能太抽象,舉例來說就是當您需要在函式的另外一個函式中呼叫 this.action()
的時候。
(這邊如果看不懂請耐著性子看下去)
不過通常這時您可能也不知道您需要的就是 Function.prototype.bind()
。
這篇文章除了記錄一下最後只是堪用的解法,如果有高手知道更好的做法煩請賜教。
話說小弟今天要來寫一些 React 的測試專案,就想說那就搭上 Gulp 吧!原本的目的很單純就只是用 Gulp compile 一些常用的 meta language,像是 Less, Jade 外加上 Jsx。也不是什麼很大的專案所以架構上其實就是在 React 的 StartKit上面再開個自己的測試目錄。
因為 Gulp
這個任務執行工具最近越來越流行,所以想說試著用它來做些事情,其實它跟 Grunt 一樣可以拿來處理很多事情像是整合 Javascript 檔案,壓縮圖片等等。如果你之前從來沒聽過 Gulp 這裡建議您先閱讀 英文教學, Gulp 初體驗。
在這篇文章中,我們將學習使用 Gulp 來完成一個簡單的小型伺服器以協助您平日的前端開發,當然這也支援 livereload
。
從轉用 Grunt 以來其實我沒有遇到太多問題,加上大部份的 Framework 都把 Task 寫得好好的,對我來說用就好了。特別要客製的地方大概也都是小改一下別人的 Gruntfile 。
這篇記錄沒有要特別去分析 Gulp 。介紹在這篇The streaming build system Gulp就解釋得蠻清楚的了。
只不過在這不想外出的下雨天稍微用看看 Gulp。以下記錄非常單純,只是透過 Gulp 來編譯 Coffee, Jade,使用一下 watch 功能體驗一下。