CoffeeScript的缩进

来源:互联网 发布:java工程师工作职责 编辑:程序博客网 时间:2024/05/21 09:24

CoffeeScript用缩进代替了花括符“{}”,作用范围的划分只靠缩进。这带来代码精简、简洁的同时,有时候也让人困惑。

比如说:

if 3 > 1  alert("噢,宇宙真理!");else  alert("顶!支持!威武!有希望了!");

编译成javascript,就是

if (3 > 1) {  alert("噢,宇宙真理!");} else {  alert("顶!支持!威武!有希望了!");}

1、这个缩进,最重要的是缩进的层次,而每层缩进多少,是2个字符,还是4个字符,都没有关系。比如:

if 3 > 1  alert("噢,宇宙真理!");alert("顶!支持!威武!有希望了!");

==》javascript:

if (3 > 1) {  alert("噢,宇宙真理!");}alert("顶!支持!威武!有希望了!");

可以看到,两个alert,所属缩进层次不同,因此会有不同的作用范围。


if 3 > 1  alert("噢,宇宙真理!");  alert("顶!支持!威武!有希望了!");

==>javacript:

if (3 > 1) {  alert("噢,宇宙真理!");  alert("顶!支持!威武!有希望了!");}

2个alert在这里都是缩进了2个字符。如果都缩进4个字符、8个字符,编译结果都是一样的。缩进,最重要的是缩进的层次,而每层缩进多少个字符,并无硬性规定。

2、缩进的时候,要么全部用tab,要么全部用空格,绝对不能混用,否则编译不通过

这也是coffeescript最令人蛋疼的地方。

但单从外观看,很难区分用tab键的缩进和空格键的缩进有什么区别。如果用sublime text作为编辑工具,只要Ctrl + A,全选,就能看到二者的不同。并且,其右下角可以选每个层次的缩进字符数,十分方便。如果勾选了 "Indent using spaces"选项,那么在sublime text里,按tab和按空格键都可以,sublime text会统一处理为空格。





0 0
原创粉丝点击