CoffeeScript 笔记
2014年5月16日 03:06
最近读了《CoffeeScript程序设计》的前半部分「核心 CoffeeScript」。对 CoffeeScript 也是有了初步的了解,本文只是我的随手笔记,并没有非常系统的总结 CoffeeScript 语法,想学习语法的同学可以看以下两份中文材料:
为什么要用 CoffeeScript?
- 采用了 JavaScript 中的 Good Parts,符合 JS 最佳实践
 - 代码简洁清晰,有很多语法糖
 
一些特性
1.有意义的空格
CoffeeScript 移除了所有的大括号和分号。
JS 会自动在行尾添加;,但它又没有纯粹的设计为一款不需要加分号的语言,所以有时候会引起一些蛋疼的Bug。而 CoffeeScript 会在编译出的 JS 代码里每行都加;,很方便。
CoffeeScript 和 Python、Ruby 一样,采用强制缩进(Coffee的很多地方与 ruby 类似),这种简洁,可读性又很强的代码,让人大爱。
2.变量作用域的控制
JS 中的变量作用域一直让人诟病。
CoffeeScript 把编译生成的 JS 封装在一个匿名函数中:
(function(){
  // 这里是编译生成的代码
}).call(this);
这样就巧妙避免了全局作用域的污染。同时,CoffeeScript 始终在编译生成的 JS ...
Continue to read