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会统一处理为空格。

CoffeeScript的缩进的更多相关文章

  1. emmet,jade,haml, slim,less,sass,coffeescript等的实战优缺点

    摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动. 随着前端技术的蓬勃发展, 各种新技术随着生产力的需要不断的涌入我们的视野, 那今天探讨的话题是这些新时代的前端兵器谱: 一. ...

  2. 《CoffeeScript应用开发》学习:第二章 编写第一个CoffeeScript应用程序

    CoffeeScript基础 语句 CoffeeScript没有分号,语句由新的一行结束,但是可以使用\将语句延续至下一行. 有时可以跨行实现函数调用: "foo". .conca ...

  3. coffeeScript学习01

    安装 这里使用node.js npm install -g coffee-script # watch and compile coffee -w --output lib --compile src ...

  4. coffeeScript 语法总结

    CoffeeScript ---->安装node.js ---->安装coffeeScript 语句: 注意:没有分号,语句由新的一行结束:多条语句写到同一行时需要分号表示一条语句的结束( ...

  5. CoffeeScript学习(3)—— 函数

    CoffeeScript函数 如果大家有看我之前关于ES6的箭头函数的话,这一篇也不会很难理解.我们这一次可以说一下,关于两者的一些细微差别. 基本 在CoffeeScript中,任何函数都是用箭头函 ...

  6. CoffeeScript学习(1)——Quick Start

    什么是CoffeeScript CoffeeScript 是一门编译到 JavaScript 的小巧语言. 在 Java 般笨拙的外表下, JavaScript 其实有着一颗华丽的心脏. Coffee ...

  7. CoffeeScript 入门笔记

    写在前面: 被英文版指南坑了...闹了很久才明白.coffee怎么用.安装前需要有稳定版 Node.js, 和 npm (Node Package Manager). 借助 npm 可以安装 Coff ...

  8. CoffeeScript简介 <一>

    介绍 coffeeScript是一种轻量级的编程语言,可以用编译器生成原生javascript代码.它简化了许多javascript繁琐的方式,可以让你用简单的方式直接使用一行程序代表javascri ...

  9. (六)我的JavaScript系列:更好的JavaScript之CoffeeScript

    世界上的很多天才都在为构建更好的JavaScript而努力.已经有了很多尝试,其中最有前途的,无非就是CoffeeScript和TypeScript了.面对CoffeeScript,我有一见如故的感觉 ...

随机推荐

  1. TF实战:(Mask R-CNN原理介绍与代码实现)-Chapter-8

    二值掩膜输出依据种类预测分支(Faster R-CNN部分)预测结果:当前RoI的物体种类为i第i个二值掩膜输出就是该RoI的损失Lmask 对于预测的二值掩膜输出,我们对每个像素点应用sigmoid ...

  2. CAD使用SetxDataLong写数据(网页版)

    主要用到函数说明: MxDrawEntity::SetxDataLong 写一个long扩展数据,详细说明如下: 参数 说明 [in] BSTR val 字符串值 szAppName 扩展数据名称 n ...

  3. 梦想CAD控件网页版标注样式

    增加标注样式 _DMxDrawX::AddDimStyle 增加一个新的标注样式,如果当前已经有指定名的标注样式,就直接失败返回.详细说明如下: 参数 说明 BSTR pszName 新增加的标注样式 ...

  4. 04Oracle Database 登陆

    Oracle Database 登陆 EM Express Login https://localhost:5500/em/login cmd sqlplus SQL/PLUS system/code ...

  5. cgroup代码浅析(1)

    前置:这里使用的linux版本是4.8,x86体系. cgroup_init_early(); 聊这个函数就需要先了解cgroup. cgroup概念 这个函数就是初始化cgroup所需要的参数的.c ...

  6. Chrome升级后打开新的标签页变样了……

    最近更新Chrome后,打开新的标签页完全变样了,让人不知所措,特别是没有了那个“最近关闭标签页”按钮,这让我抓狂…… PS:Chrome版本号为:29.0.1547.76 m PPS:最新版已无法修 ...

  7. PS切图基本操作

    PS切图基本操作 2016-05-11 20:56:46|  分类: PhotoShop|字号 订阅     下载LOFTER我的照片书  |     1首先在“文件”中打开一张图片.   2点击“移 ...

  8. 让元素div消失在视野中

    让元素div消失在视野中1.position:absolute/relative/fixed + 方位 top/bottom/left/right: -9999px2.display:none3.vi ...

  9. anaconda镜像

    下载一个包老是下载不下来,于是放弃了官方版改为国内镜像. 清华镜像 (打开Anaconda Prompt   或者 打开cmd,运行下面的命令) conda config --add channels ...

  10. NOIP2016 DAY1 T2天天爱跑步

    传送门 题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵包含 ...