内容简介:
作为唯一所有主流浏览器都支持的脚本语言,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
本书是日本平面设计师小矶裕司在自己所参与的设计项目过程中,对设计理念、设计执行所发出的诚恳思考。全书分为三大篇章,分别介
《设计思维:有效的设计沟通和创意策略》旨在介绍设计思维的概况.包括设计进程的每一个阶段:设计师在产生和完善构思时,主要考虑
Linux 驱动程序开发实例-第2版 本书特色 Linux设备驱动程序是高级应用程序与硬件设备之间的桥梁。驱动程序开发是软硬件相互结合的技术。本书是一本专门介绍...
《中华传统节日诗词故事:清明·端午》内容简介:节日诗词,把民间习俗和文人意趣结合在一起,很好地体现了中华文化源远流长、丰富
《信天而游》内容简介:一个八零后台湾女孩,只身前往陕北的农村,在窑洞一待就是三年。她和当地招待他的房东农民老蒋一起种庄稼,
这本伊隆·马斯克(ElonMusk)的传记可能会改变你对人生的整个看法!当他第二次登上《每日秀》的舞台时,我就觉得应该要有一本高质
性能是任何一个网站成功的关键,然而,如今日益丰富的内容和大量使用Ajax的Web应用程序已迫使浏览器达到其处理能力的极限。Steve
Asadeveloper,you’veprobablyheardthatfunctionalprogrammingtechniqueshelpmanagethe...
内容简介本书主要介绍了现代通信领域的最新技术,并对它们作了客观的比较。主要包括以下内容:TI/EI系统、X.25、B-ISDN、SS7、
《闪魂FLASH8网站建设实录》旨在提供以Flash(Flash8.0为创作工具)为技术核心的整套互动网站的开发思路,其中包括了网站策划、平面
Describesthetechnologicalsolutionsandstandardswhichwillenablethemigrationofvoice...
《社群营销与运营实战手册》内容简介:社群经济的崛起极大地改变了现有的商业模式,“网红”、社交电商、新零售等新兴模式使社群的
《LTE轻松进阶》以说故事讲原理的方式介绍LTE技术原理。内容按照从总体到细节、从原理到实践的顺序提纲挈领地介绍LTE无线侧工程师
《MySQL数据库应用项目教程》内容简介:本书采用“工学结合、任务驱动”的模式进行编写,面向企业的工作过程,以“销售管理系统”为
《Python数据可视化编程实战》是一本使用Python实现数据可视化编程的实战指南,介绍了如何使用Python最流行的库,通过60余种方法
所有伟大的设计,都是在艺术美、可靠性、安全性、易用性、成本和性能之间寻找平衡与和谐。《好用型设计》是设计学领域权威力作,
现在的软件糟糕透顶。软件不安全,它允许恶意程序通过Internet线路钻到我们的卧室;软件不可靠,当我们最需要它的时候它却崩溃,
WelcometotheVisionRevolution.WithMicrosoftsKinectleadingtheway,youcannowuse3Dcom...
本书结合理论知识和实例程序,全面而系统地介绍了Objective-C编程的相关内容,包括类和继承、对象的类型和动态绑定、基于引用计数
本书是大学计算机相关专业的基础课教材,涉及到计算机科学的各个方面。本书着重讲解基本概念而不是数学模型和技术细节,通过大量