如果您是一位每天都要編寫JavaScript和Css的Web前端開發人員,可能您已經開始感覺到JavaScript的關鍵字 var, function, {} 要被您每天敲擊若幹遍。是否可以省掉這些重複的敲擊。編寫Css,先要一層一層的選到元素,然後開始寫樣式,如果要寫下一層的樣式,又要重複的選一次父層元素然後再到子層,Css是否可以嵌套呢。
<b>下面是同樣功能的CoffeeScript和JavaScript的代碼對比:</b>
<b>同樣功能的Sass代碼和Css代碼的對比:</b>
是不是CoffeeScript和Sass更加的簡潔易懂,同時又省了很多代碼? CoffeeScript和Sass都采用了簡潔的Ruby文法風格,都是用代碼生成代碼,即用右邊的CoffeeScript代碼生成左邊的JavaScript代碼,用Sass/Scss代碼生成Css代碼。這兩個Library的作者都想用新的代碼方式來省去一些重複的,有些"鋪張"的代碼。
CoffeScript:
http://jashkenas.github.com/coffee-script/
CoffeeScript的一些有用特性:
1. Lexical Scoping and Variable Safety
2. If, Else, Unless, and Conditional Assignment
3. The Existential Operator
4. Classes, Inheritance, and Super
5. Function binding
6. Extended Regular Expressions
Sass:
http://sass-lang.com/
Sass 的一些有用特性:
1. Variables: 變量以$開始,它能定義 顔色,數字,或者文字。
2. Nesting: 嵌套,将選擇器嵌入到其他層級的選擇器。
3. Mixins: 混合類型,允許抽象出性質的共同點,然後命名并且加入到選擇器中。
4. Selector Inheritance: 繼承,繼承其它選擇器的屬性。
5. Functions: 函數,支援簡單的算術操作,如+-×/,及函數。如:将某顔色亮度增加10%: lighten(red, 10%)。
歡迎大家在GCDN讨論~~