字符串插值

CoffeeScript提供了一种更好的构建字符串的解决方案。在双引号字符串(单引号无效)中使用#{}包含一个动态的值。

str = 'Hello, CoffeeScript.'
console.log "#{str + ':)'}"
# 输出:Hello, CoffeeScript:)

定义函数

CoffeeScript引入lambda表达式的形式来定义函数。

函数定义:

# 定义有参函数并调用
sayHello = (name)->
return "Hello, #{name}!"
sayHello "Programmer" # 输出Hello, Programmer! # 定义无参函数并调用
sayGoodBye = ->
return "Bye now!"
sayGoodBye() # 输出Bye now!

函数命名

大多数情况下,CoffeeScript不支持形如function sayHello(name){...}的命名函数,只支持绑定函数。

JavaScript中的命名函数在文件中其他一切之前执行定义,但是绑定函数不遵循此规则,绑定函数只在函数声明(定义)的位置执行声明操作,也就是说,只有在此之后的代码可以调用此函数,在绑定函数之前无法调用此函数。

函数返回

CoffeeScript中函数有一个重要特性:隐式返回。即函数中如果没有显式给定返回的值,那么函数将以运行时执行的最后一条语句结果作为返回值。

其中,如果最有一条语句为if语句,则在if语句的每个分支中都加入return语句;如果是for循环,则返回每次循环执行结果组成的数组,

如果确定函数不会返回,那么可以再函数末尾添加一个没有返回值的return语句或者null。

switch语句

CoffeeScript中的switch使用switch,when和else作为语句关键字,break命令自动插入到控制结构中。其中,when语句可以接受多个值的匹配,使用逗号隔开,还可以使用then语句将语句块缩短至一行

switch iSpy
when 'sky'
console.log 'blue'
when 'grass', 'frog'
console.log 'green'
when 'lake' then 'dark'
else
console.log 'grey'

最新文章

  1. datagridview 单元格格式转换注意
  2. 初次接触json...
  3. Codrops 教程:基于 CSS3 的精美模态窗口效果
  4. roscpp
  5. jquery table 拼接集合
  6. POJ 1269 Intersecting Lines(计算几何)
  7. JavaScriptResult用法
  8. 1742. Team building(dfs)
  9. 用MVC4+EF改写XXX系统的计划--前言
  10. SquirrelMQ消息队列
  11. 高可用高性能分布式文件系统FastDFS实践Java程序
  12. C++对C语言的变量检测增强
  13. pydoc用法
  14. c#核心基础--类的构造方法
  15. 解决 “access violation at address xxxxxxxxx”错误
  16. log4j下载地址及日志文件输入位置配置
  17. Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用[z]
  18. 2.4scope
  19. js 面向对象式编程
  20. 在Outlook中修改脱机文件(.ost)的保存位置

热门文章

  1. [Linux] - Docker移动数据到其它盘的办法
  2. Java中的队列Queue,优先级队列PriorityQueue
  3. 短链(ShortURL)的Java实现
  4. linux中service *** start与直接运行/usr/bin/***的区别
  5. if、if elif判断
  6. JQuery 上传文件插件 Uploadify1
  7. Nginx图片剪裁模块探究
  8. 使用百度地图API产生指定范围的随机点
  9. Talk about VR
  10. ajax提交请求返回对象异常问题