CoffeeScript系列教程(三)—声明

CoffeeScript的声明很简单,如下:

###
  编译前
###
name = 'xxx' #名称
age = 10 #年龄
 /*
  编译后
 */
var age, name;
name = 'xxx';
age = 10;

CoffeeScript的单行注释是#,多行注释是###,看上面就知道了。观察代码大家可以发现:

  • CoffeeScript的声明不需要关键字var去声明,编译后的代码会帮你加声明。如果你硬加上var会报错,编译失败
  • 不需要使用分号去关闭表达式,编译后的代码会帮你加上分号。但是加上分号编译也能通过,但是最好别这么干。

下面我们来看看数组和对象的声明。

#编译前
array = [1, 2, 3, 4, 5, 6]
obj = 
  name: 'xxx'
  age: 10

//编译后    
var array, obj;
array = [1, 2, 3, 4, 5, 6];
obj = {
  name: 'xxx',
  age: 10
};
数组的声明和JavaScript一模一样(除了少了个关键字var和结尾的分号),值得一提的是在CoffeeScript里面数组还有种声明写法:

#编译前
array = [
  1, 2, 3
  4, 5, 6
]

//编译后
var array;
array = [1, 2, 3, 4, 5, 6];

大家可以看到数组里的元素换行了可以省掉分号不写。建议不要这么写,看起来好像二维数组,容易造成误解。

观察对象的声明发现少了花括号{},CoffeeScript里面的代码块都不需要花括号{}来包裹,而是通过换行和缩进来控制的。比如:

#编译前
obj =
  name: 'xxx'
  age: 10
  obj1:
    name: 'yyy'
    age: 20

//编译后
var obj;

obj = {
  name: 'xxx',
  age: 10,
  obj1: {
    name: 'yyy',
    age: 20
  }
};

name、age、obj1都缩进了,所以编译后成功都在{}内部。至于缩进多少都没有关系(一个字符、甚至任意字符都可以),但是有一点得记住,保持统一的缩进风格,不要有些地方缩进一个字符,有些地方又缩进两个字符。就拿上面的例子来说,代码都是缩进两个字符的,如果你obj1缩进一个字符编译就会失败,因为没办法解析。要保持编码的统一风格。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值