1.CoffeeScript 编译器本身是 CoffeeScript 写的, 使用了 Jison parser generator. 命令行版本的 coffee 是一个实用的 Node.js 工具. 不过编译器并不依赖 Node, 而是能运行于任何 JavaScript 执行环境, 比如说在浏览器里(看上边的"试一试 CoffeeScript").

2.安装CoffeeScript之前需要安装node.js和npm

3.CoffeeScript 使用显式的空白来区分代码块. 你不需要使用分号 ; 来关闭表达式, 在一行的结尾换行就可以了(尽管分号依然可以用来把多行的表达式简写到一行里). 不需要再用花括号来{ } 包裹代码快, 在 函数, if 表达式, switch, 和 try/catch 当中使用缩进.

4.函数:

square=(x)->x*x      (CoffeeScript的写法)
相当于下面的 代码(JS的写法)
square=function(x){
  return x*x;
}
5.对象可以用缩进替代花括号来声明。
6.If, else,  unless和条件运算符:
CoffeeScript 里不存在直白的三元表达式. — 你只要在一行内使用普通的 if 语句.
7.为了更好的可读性,until关键字等同于while not, loop关键字 等同于while true
8.CoffeeScript 提供了一个 do 关键字, 用来直接调用跟在后边的函数, 并且传递需要的参数.
9.有一些 JavaScript 语句是不能编译到表达式的对应的语义的, 比如 breakcontinue 和 return. 如果你的代码当中用到了它们, CoffeeScript 是步骤尝试去进行转换的.
10.操作符:

由于操作符 == 常常带来不准确的约束, 不容易达到效果, 而且跟其他语言当中意思不一致, CoffeeScript 会把 == 编译为 ===, 把 != 变异为 !==. 此外, is 编译我 ===, 而 isnt 编译为 !==.

not 可以作为 ! 的 alias 使用.

逻辑操作方面, and 编译为 &&, 而 or 编译为 ||.

11.

on 和 yes 跟 true 是一样的, 而 off 和 no 是布尔值 false.

unless 可以认为是 if 相反的版本.

this.property 简短的写法可以用 @property.

可以用 in 判断数据在数组中是否出现, 而 of 可以探测 JavaScript 对象的属性是否存在.

为了简化数学表达式, ** 可以用来表示乘方, // 表示整除, %% 提供数学的模运算

完整的列表:

完整的列表:

CoffeeScript JavaScript
is ===
isnt !==
not !
and &&
or ||
trueyeson true
falsenooff false
@this this
of in
in no JS equivalent
a ** b Math.pow(a, b)
a // b Math.floor(a / b)
a %% b (a % b + b) % b

CoffeeScript基础相关推荐

  1. 免费的JavaScript书籍资源

    JavaScript目前变得越来越流行,已经变成了Web开发必备的语言,加之其跨平台的特性,使得在一切皆为JavaScript的移动互联网时代大有作为. 同时,我们看到,在过去的2013这一年的软件开 ...

  2. 45本免费的JavaScript书籍资源

    JavaScript 目前变得越来越流行,已经变成了 Web 开发必备的语言,加之其跨平台的特性,使得在一切皆为 JavaScript 的移动互联网时代大有作为. 同时,我们看到,在过去的 2013 ...

  3. 45本免费的JavaScript书籍资源收集

    JavaScript目前变得越来越流行,已经变成了Web开发必备的语言,加之其跨平台的特性,使得在一切皆为JavaScript的移动互联网时代大有作为. 同时,我们看到,在过去的这一年的软件开发中,J ...

  4. 用typescript完成倒计时_「干货」将数十万行CoffeeScript代码迁移到TypeScript

    作者 | David Goldstein 译者 | 王强 策划 | 小智 转发链接:https://mp.weixin.qq.com/s/TK7kWXX4hR3e-jtpVMuBnw 序言 2017 ...

  5. coffeescript html5,HTML5——前端预处理技术(Less、Sass、CoffeeScript)

    一.Less 1.1.概要 Less是一种动态样式语言,Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量.Mixin.函数等特性,使 CSS 更易维护和扩展. Less 将 C ...

  6. typescript和coffeescript简介

    typescript 1.什么是typescript?和JavaScript有什么关系? 1.它是一门独立的语言,实现了自己的编译器   2.它的目标代码是JavaScript(很多语言的目标代码是机 ...

  7. CSS3(七) 前端预处理技术(Less、Sass、CoffeeScript)

    目录 一.Less 1.1.概要 1.2.变量 1.3.解析Less 1.3.1.在线处理 1.3.2.预处理 1.4.混入(Mixins) 1.5.嵌套 1.6.运算 1.7.函数 1.8.继承 1 ...

  8. 前端搬运工:零基础的前端开发初学者应如何系统地学习?前端掌握技能的学习路线

    前端小伙伴们:[刚入门,但迷茫人群],请认真读完 下面的 淘宝web 大神总结,如果你对前端是真爱的话,并且坚信可以作为职业去改变你的生活,慢慢日积月累,按这个来吧,真的! 上半部分是 技术路线, 下 ...

  9. 整合Springboot+Vue(基础框架)

    初期技术栈计划:Springboot2.13 + Vue + Mybatis + Postgresql + redies + FreeMarker(这个不一定会用到) 整合配置:Logback日志管理 ...

  10. CoffeeScript入门

    官网文档传送门 CoffeeScript简介 CoffeeScript 是一门编译到 JavaScript 的小巧语言. 在 Java 般笨拙的外表下, JavaScript 其实有着一颗华丽的心脏. ...

最新文章

  1. 青少年编程竞赛交流群周报(第036周)
  2. Kubernetes 集群使用 Jenkins 持续发布
  3. python在财务中的应用实训报告-DATATOM | 大数据实训
  4. python numpy库安装winerror5_(转载)Numpy安装中遇到的问题和解决方法
  5. [Android开源项目] GitHub开源项目总结 (转)
  6. java se5和8_javaSE_8系列博客——Java语言的特性(三)--类和对象(5)--定义方法...
  7. SPOJ QTREE
  8. 力扣-1925 统计平方和三元组的数目
  9. QQ因系统日期无法打开
  10. web服务器和数据库服务器不在同一台机器上,如何连接?
  11. 5个衡量软件质量的标准(可自动化)
  12. VTD的官方help翻译-ROD部分(5~9章)
  13. 【弃】Selenium官方文档中文版
  14. [百分浏览器-centbrowser]不能播放视频处理方法
  15. java导出excel 方式_java导出Excel通用方法
  16. scrapy_splash动态ip代理和请求头的动态修改
  17. 8、spss做因子分析及主成分分析
  18. 男人最渴望拥有的十类妻子
  19. 如何用手机上的计算机弹音乐,如何使用手机qq音乐遥控电脑播歌
  20. PC威信 3.8.0 测试HOOK接口

热门文章

  1. 计算机更改刷新频率,win10系统更改屏幕刷新频率的设置方案
  2. cannot re-initialize CUDA in forked subprocess.To use CUDA with multiprocessing,you must use the ‘sp
  3. DAH首度披露“超级账本”区块链平台…
  4. Android H5视频全屏,自适应视频
  5. 计算机提示资源管理器停止,电脑重复弹出“windows资源管理器已停止工作”怎么处理...
  6. android ShareSDK分享,QQ,微信,新浪等分享
  7. office办公软件之ppt视频录制
  8. 中文的括号和英文的括号区别_工具推荐 含笔顺及英文的汉字书写练习纸
  9. 读后感—肿瘤基因检测行业会好吗
  10. Borland 26年风雨路