2012年10月10日 星期三

[宅] coffeescript第一課 - "原來不能這樣寫"

為了開發node以及導入同伴的python開發經驗,從今天開始接觸coffeesscript,來體驗他簡短程式碼並最佳化成javascript的能力。

一開始當然是要體驗一下他和javascript的不同啦,
首先是scope的習慣,在javascript中我們會習慣用大括號來圈起範圍,而在coffeescipt中我們使用縮排。
再來,在javascript中很常見的 for( i in obj)在coffeescript中是會有問題的,因為他會把這段程式轉化為:

for (_i = 0, _len = obj.length; _i < _len; _i++) {
}

而object預設根本沒有length,而這段程式碼很明顯就是為了array寫的,運用在array上當然也沒問題。那要loop物件中的attr該怎麼辦呢?我們只需要改成 for( i of obj)即可,而因為coffeescript具有List comprehension的特性,讓他能用以 下的方式來寫loop:

alert item for item of v

而不用

for( item of v){
     alert(v[item])
}

超快的,對吧?

沒有留言:

張貼留言