内容简介:
作为唯一所有主流浏览器都支持的脚本语言,JavaScript俨然已成为Web开发领域最具号召力的语言,但它的种种语言怪癖以及在各种浏览器间实现不一致等问题也为开发人员所诟病。2009年底,CoffeeScript横空出世。它吸收了JavaScript语言的精华,并添加了很多现代语言脚本的特性,很快便得到了大量Web开发人员的青睐。
本书由CoffeeScript重要贡献者Trevor Burnham操刀,从基础知识入手,全面详尽地介绍了CoffeeScript这门新语言。通过一个5×5拼字游戏,作者将CoffeeScript各方面的知识融入其中,通俗易懂地讲解了CoffeeScript如何与jQuery等非常流行的类库完美集成,如何游刃有余地结合Socket.IO实现Node.js双通道异步通信。每章结尾都有精心设计的习题,有助于读者巩固所学的CoffeeScript知识并更上一层楼。
掌握CoffeeScript,Web开发之旅将更轻松、快捷和优雅!
目 录
第1章 入门指南 1
1.1 安装CoffeeScript 1
1.2 CoffeeScript编辑器 4
1.3 “邂逅”coffee 5
1.3.1 编译为JavaScript 6
1.3.2 REPL 7
1.4 调试CoffeeScript 8
1.5 预备 9
第2章 函数、作用域和上下文 11
2.1 函数基础知识 11
2.1.1 访问arguments对象 13
2.1.2 条件表达式和异常 14
2.2 作用域:你在哪里看到它们 16
2.3 上下文 18
2.4 属性参数(@arg) 21
2.5 默认参数(arg=) 22
2.6 参数列(...) 24
2.7 项目:5×5游戏输入分析器 25
2.8 做得好,年轻的学徒 29
2.9 练习 29
第3章 集合与迭代 31
3.1 作为哈希表的对象 31
3.1.1 JavaScript基础知识:一节JavaScript补习课 31
3.1.2 精简的JSON 32
3.1.3 同名键值对 33
3.1.4 吸收操作符:'a?.b' 33
3.2 数组 34
3.2.1 区间 35
3.2.2 切分和剪接 35
3.3 集合的迭代 37
3.4 条件迭代 39
3.5 列表解析 40
3.6 模式匹配(或解构赋值) 41
3.7 项目:5×5单人游戏 42
3.8 进阶 48
3.9 练习 48
第4章 模块与类 51
4.1 模块:解构程序 51
4.2 原型的威力 53
4.3 类:原型函数 55
4.4 使用extends来继承 56
4.5 项目:重构5×5游戏 59
4.5.1 Dictionary类 60
4.5.2 Grid类 61
4.5.3 Player类 62
4.5.4 Console.Coffee接口 63
4.6 就如“一勺糖” 63
4.7 练习 64
第5章 jQuery Web交互开发 66
5.1 jQuery之道 66
5.2 操作DOM 67
5.3 学会选择 68
5.4 响应事件 69
5.5 项目:基于浏览器的5×5游戏 71
5.5.1 index.html 71
5.5.2 style.css 72
5.5.3 jq5×5.coffee 73
5.6 未来是jQuery化的 77
5.7 练习 77
第6章 Node.js服务器端程序 79
6.1 什么是Node.js 79
6.2 使用exports和require构建模块化代码 80
6.3 异步思想 81
6.4 项目:多人5×5游戏 84
6.4.1 5×5server.coffee 85
6.4.2 5×5client.coffee 89
6.4.3 都结束了 91
6.5 客户端、服务器端——有何不同 91
6.6 练习 91
附录A 练习答案 92
附录B 运行CoffeeScript的几种方法 98
附录C JavaScript开发者备忘录 102
十载演进,C#日渐强大,新增了泛型、函数式编程概念,以及对静态类型和动态类型的支持,而大量新兴编程习惯背后,却是种种具有迷
《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了
《商用机器学习:数据科学实践》内容简介:本书基于我在商学院的教学经验而创作,是关于机器学习的一本入门书籍,读者面向商学院学
Readytoexploretheglamourousworldofwirelesssensornetworking?Createdistributedsens...
随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为了一个充满活力的生态圈。《实战Java虚
先进PID控制MATLAB仿真-(第4版) 本书特色 全书共分17章,包括基本的pid控制、pid控制器的整定、时滞系统pid控制、基于微分器的pid控制、基于...
《形式感+》内容简介:网页设计师从早年的综合性工作中分化出来,形成了相对独立的专业岗位,网页设计也不再是单纯的软件应用,它衍
“从公元前1世纪到公元15世纪的漫长岁月中,中国人,在应用自然知识与满足人的需求方面,曾经胜过欧洲人,那么,为什么近代科学革
赵涏元chogar@naver.com目前在KB投资证券公司负责安全工作,管理安全防范项目(www.boanproject.com)。在A3security公司...
.NETFramework的出现给编程带来了极大的改变,图形编程也同样受到了巨大的影响。微软在.NET中把GDI升级为GDI+,它包含了许多命名
本书助您轻松体验Cocoa开发,不仅是阅读,还有动手实践。介绍完Xcode和InterfaceBuilder之后,您将很快接触到Objective-C的面向对
可用性设计是Web设计中最重要也是最困难的一项任务。《点石成金》的作者根据自己多年从业的经验,剖析用户的心理,在用户使用的模
C程序设计语言(第2版.新版)习题解答 本书特色 本书是对Brian W.Kernighan和Dennis M.Ritchie所著的《C程序设计语言(第2版·新...
本书是朱利安•阿桑奇目前为止唯一的一部著作,甚至可称为“半部自传”。它是一部见证互联网改变人类历史的伟大纪实文学作品,讲述
WebNavigation:DesigningtheUserExperienceoffersthefirstindepthlookatdesigningwebs...
《极简办公》内容简介:本书主要面向职场新人,详细讲解Word的使用技巧,并提供配套的视频讲解,帮助职场新人快速掌握工作中所需要
《放弃自己的一百零一种方法》内容简介:本书是作家孙未描写世间萌态的短文集。出租车上的妙手魔术师、深夜显灵的饭店老板、内力惊
《我们都是科学家:那些妙趣横生而寓意深远的科学实验(修订版)》内容简介:本书让你通过身边的有趣实验完成前沿科技的奇妙体验。
亨利·施莱辛格所著的《电池的秘史——引发技术革命的便携式电源》为了叙述清楚,将那些互不相干或互不搭界的内容联系在了一起。
MATLAB 2018从入门到精通-中文版-实战案例版 本书特色 1.402集视频讲解。为方便读者学习,本书对书中实例录制了视频,并生成二维码,可以手机扫码看视...