《CoffeeScript应用开发》学习:第三章-构建简单的应用程序
字符串插值
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'
《CoffeeScript应用开发》学习:第三章-构建简单的应用程序的更多相关文章
- 区块链开发学习第三章:私有链上部署helloBlockchain简单合约
前面讲了部署私有链以及新增账户,现在进行到了部署合约了,此操作真是踩了无数无数无数的坑,到写文章为止确实是已经部署好了,但是还有些坑是还没有解决的! 一.Solidity编译器 开始的时候用的http ...
- [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设
[HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...
- 《ORACLE数据库管理与开发》第三章学习之常用函数记录
<ORACLE数据库管理与开发>第三章学习之常用函数记录 注:文章中的*代表所要操作的列名 1.lower(*)/upper(*),将此列下的值转为小写/大写 2.initcap(*):把 ...
- Android艺术开发探索第三章——View的事件体系(上)
Android艺术开发探索第三章----View的事件体系(上) 我们继续来看这本书,因为有点长,所以又分了上下,你在本片中将学习到 View基础知识 什么是View View的位置参数 Motion ...
- Android艺术开发探索第三章————View的事件体系(下)
Android艺术开发探索第三章----View的事件体系(下) 在这里就能学习到很多,主要还是对View的事件分发做一个体系的了解 一.View的事件分发 上篇大致的说了一下View的基础知识和滑动 ...
- Knockout应用开发指南 第三章:绑定语法(3)
原文:Knockout应用开发指南 第三章:绑定语法(3) 12 value 绑定 目的 value绑定是关联DOM元素的值到view model的属性上.主要是用在表单控件<input&g ...
- Knockout应用开发指南 第三章:绑定语法(2)
原文:Knockout应用开发指南 第三章:绑定语法(2) 7 click 绑定 目的 click绑定在DOM元素上添加事件句柄以便元素被点击的时候执行定义的JavaScript 函数.大部分是用 ...
- Knockout应用开发指南 第三章:绑定语法(1)
原文:Knockout应用开发指南 第三章:绑定语法(1) 第三章所有代码都需要启用KO的ko.applyBindings(viewModel);功能,才能使代码生效,为了节约篇幅,所有例子均省略了此 ...
- 【转载】salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)
salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL) salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesfo ...
随机推荐
- iOS获取UUID,并使用keychain存储
http://blog.sina.com.cn/s/blog_5971cdd00102vqgy.html
- Python入门2
字符串操作 字符串是语言中使用最多的,下面我们来看看python为字符串提供哪些方法: 1.upper().lower().title() 这3个方法都是返回一个新的字符串.重要性:** name = ...
- 监控服务 - Nagios配置文件详解
Nagios的配置文件: Nagios安装后有四种默认的配置文件:主配置文件.CGI配置文件.资源定义文件.对象定义文件.这些配置文件间具有一些关系,只有充分理解各配置文件,才能使得配置Nagios服 ...
- 很不错的在线Office控件:IWebOffice与SOAOffice
http://blog.csdn.net/cjh200102/article/details/17220441 iWebOffice2003文档控件 iWebOffice2003网络文档中间件能够在I ...
- Activity Intent Flags及Task相关属性
转自http://www.cnblogs.com/lwbqqyumidi/p/3775479.html 今天我们来讲一下Activity的task相关内容. 上次我们讲到Activity的四种启动模式 ...
- GBK
GBK是汉字编码标准之一,全称<汉字内码扩展规范>(GBK即“国标”.“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification) ,中 ...
- Lambda演算 - 简述Y组合子的作用
Y组合子:\f.(\x.f(xx))(\x.f(xx)),接受一个函数,返回一个高阶函数 Y组合子用于生成匿名递归函数. 什么叫匿名递归函数,考虑以下C语言递归函数 int sum(int n) { ...
- EJB初识(通熟易懂)
转载自http://blog.csdn.net/jojo52013145/article/details/5783677,讲的很透彻,佩服,膜拜学习 1. 我们不禁要问,什么是"服务集群&q ...
- highcharts去掉右下角highchart.com和右上角的图标(三个小横杆)
去除右下角highchart.com credits: { enabled:false } 去除右上角图标 exporting: { ...
- 【OpenCV练习】图片腐蚀
在简单显示出图片之后,这次尝试一下将图片进行腐蚀操作,代码如下. #include <iostream> #include <opencv2/highgui/highgui.hpp& ...