内容简介:
作为唯一所有主流浏览器都支持的脚本语言,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
VinylWillKill一次过收入了当今玩具界大部分最著名的玩具创作人的超级巨集,名单上有超过40个响当当的名字。详尽的访谈以及平面设
《游戏设计梦工厂》是南加州大学互动媒体及游戏专业的系主任特雷西•弗雷顿教授的经典著作。作为一本将现代游戏工业与先进教学体系
微型计算机原理与接口技术 内容简介 本书是根据高等理工科院校电子通信工程、自动化、机电一体化等非计算机专业和计算机专业的《微型计算机原理与接口技术》的教学大纲编...
《陈子涛传》内容简介:本书为雨花台烈士传丛书之一,记叙了陈子涛烈士的一生。陈子涛1920年出生于广西玉林。1938年,初中毕业的陈
本书着重介绍现代密码学的加密思想及其实现方法,内容涉及数论、概率论、抽象代数、加密算法的思想及复杂度理论。本书介绍了密码
《人工神经网络导论》依照简明易懂、便于软件实现、鼓励探索的原则介绍人工神经网络。内容包括:智能系统描述模型,人工神经网络
《大规模数据分析和建模:基于Spark与R》内容简介:这本书的目的是帮助所有人通过R使用Apache Spark。第1章~第5章,简单地介绍了如
《沙乡年鉴》内容简介:在《沙乡年鉴》中,作者用生动优美的语言描述了自己在远离现代社会的荒僻农场中的生活,以及他游历美国各地
《全国计算机等级考试一本通·二级C语言》内容简介:为了帮助考生在最短的时间内顺利通过计算机等级考试,全国计算机等级考试命题研
本书作者MontyNeworn是国际计算机象棋协公的主席,作者是用生动活泼的笔触描写了深蓝与卡斯帕罗夫之战这一引起全世界关注的历史事
Web应用安全权威指南 本书特色 《web应用安全权威指南》系日本web安全**人德丸浩所创,是作者从业多年的经验总结。作者首先简要介绍了web应用的安全隐患以...
《微电影大导演》内容简介:一个行业的健康持续发展,势必需要更多有志之士,更多人的参与对于精品内容的产生将起到极大的推动作用
《给孩子的幸福力1》内容简介:在孩子成长的道路上,我们给予他们太多的关注和爱,却常常忘了告诉他们,成长是一件多么美好的事情;
欧洲人用他们的浪漫洒脱,以及悠久的艺术传统造就了欧洲设计在世界上独树一帜的风采。本书汇集了奥地利著名设计学院历年的学生作
在通往“Java技术殿堂”的路上,本书将为你指点迷津!内容全部由Java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、
计算机网络应用入门 本书特色 本书从利用计算机和因特网收集信息、获取信息、利用信息这个角度出发,以网络技术的基础应用为目标,联系局域网的建设和因特网应用,讲述网...
CarloM.Cipolla(August15,1922–September5,2000)wasanItalianeconomichistorian.Hewas...
本书为《计算机算法导引——设计与分析》的第2版。书中内容分3部分:第1部分是基本算法,按方法论区分,包含优先策略与分治策略、
photoshop CS6从入门到精通(全彩版) 本书特色本书讲述了学习photoshop cs6所需的相关知识,主要包括认识photoshop cs6、使用p...
《灵魂之旅:中国当代文学的生存意境》内容简介:《灵魂之旅》主要针对上世纪90年代中国文学创作展开言论。作者结合当时的时代背景