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. 获取WebBrowser全cookie 和 httpWebRequest 异步获取页面数据

    获取WebBrowser全cookie [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true) ...

  2. https与http的访问,应对苹果ATS验证问题

    为应对2017年1月1日苹果ATS的问题,微信.微博等等APP要求挂载的网页必须https访问,需要添加ssl认证. 一.SSL认证 选取了阿里云提供的免费SSL,使用期限为一年.电话咨询阿里客服,免 ...

  3. The Runtime Interaction Model for Views-UI布局事件处理流程

    The Runtime Interaction Model for Views Any time a user interacts with your user interface, or any t ...

  4. crm01 Django-admin管理工具

    admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLE ...

  5. Python自学-1-基本概念问题

    C语言适合开发那些追求运行速度.充分发挥硬件性能的程序. Python是用来编写应用程序的高级编程语言. Python提供了 第三方库 & 基础代码库(覆盖了网络.文件.GUI.数据库.文本等 ...

  6. WebService接口数据传输加密

    1.加密流程 客服端--->加密文本------>服务端接收到加密文本,通过固定加密密文进行解密,然后做相应处理------------>返回结果 2.固定密文创建 密文创建有很多种 ...

  7. 洛谷—— P1450 [HAOI2008]硬币购物

    P1450 [HAOI2008]硬币购物 硬币购物一共有$4$种硬币.面值分别为$c1,c2,c3,c4$.某人去商店买东西,去了$tot$次.每次带$di$枚$ci$硬币,买$si$的价值的东西.请 ...

  8. python3 的 zip

    准备放弃生命中这4个小时,然后翻开了python,人生苦短,音乐和python才味甘 1. zip  可以看到zip两个列表,返回一个元组的列表,但是它是个可迭代的对象,得用list才能调用显示: 2 ...

  9. software collection

    software software Table of Contents 1. Privacy 2. GFW 2.1. google search 2.2. 修改 DNS 服务器 2.2.1. 修改ip ...

  10. Modify MySQL dump file the fatest way

    使用mysql命令导入mysqldump生成的sql文件时,为了提高导入速度,往往需要修改dump文件,但是面对一个几十GB的文件,这事儿就太崩溃了,最快速的方法是这么做: ( echo " ...