CoffeeScript的缩进
2024-09-30 19:27:56
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会统一处理为空格。
最新文章
- java内存泄露
- VS上利用C#实现一个简单的串口程序记录
- ResponsiveSlides.js最轻量级的幻灯片插件
- Darwin Streaming server 的 Task 类
- 使用XmlPullParser对xml进行读取
- linux中fork()函数详解(原创!!实例讲解)
- sybase SA密码重置
- Android---用动画来处理布局的变化
- uva 296 - Safebreaker
- uva Stacks of Flapjacks
- mysql之 MySQL 主从基于 GTID 复制原理概述
- 微服务框架surging学习之路——序列化
- MySql和Oracle数据库区别
- iOS 常用三方(持续更新)
- Confluence 6 通过 SSL 或 HTTPS 运行 - 为 HTTPS 修改你的 Confluence 基础 URL
- Saltstack之api
- JAVA实现WC.exe功能
- 20155322 2017-2018-1《信息安全系统设计》第十周 课下作业-IPC
- Linuxyum源切换阿里云软件源
- iOS开发苹果内购的介绍与实现