JavaScript忍者秘籍(第2版) | PDF下载|ePub下载
出版社: 人民邮电出版社
原作名: Cracking the coding interview:150 programming questions and solutions,fifth edition
译者:李琳骁/漆犇
出版年: 2013-11
页数: 372
定价: 59.00元
装帧: 平装
ISBN: 9787115332912
内容简介 · · · · · ·
JavaScript语言非常重要,相关的技术图书也很多,但至今市面没有一本对JavaScript语言的最重要部分(函数、闭包和原型)进行深入、全面介绍的图书,也没有一本讲述跨浏览器代码编写的图书。而本书弥补了这一空缺,是由jQuery库创始人编写的一本深入剖析JavaScript语言的书。
本书共分4个部分,从不同层次讲述了逐步成为JavaScript高手所需的知识。本书从JavaScript语言及最重要的特性谈起,由浅入深地探讨了函数、作用域、闭包、生成器函数、对象、数组、模块化、JavaScript与Web页面的交互以及事件等主题,引导读者更加深入地了解JavaScript的方方面面,充分展示了JavaScript语言的各种特性。本书结合ECMAScript 6和7的相关概念,涵盖了流行的JavaScript框架所使用的技术。
本书适合具备一定JavaScript基础知识的读者阅读,也适合从事程序设计工作并想要深入探索JavaScript语言的读者阅读。
作者简介 · · · · · ·
John Resig 是可汗学院(Khan Academy)的一名资深工程师,是jQuery JavaScript库的创建者,也是《JavaScript忍者秘籍(第1版)》和《精通JavaScript》的作者。
Bear Bibeault 编写软件已经超过30年,刚开始是通过100波特的电传打字机在控制数据网络超级计算机上编写井字程序。Bear有电气工程双学位,本应从事设计天线之类的技术工作,但自从他在数字设备公司从事第一份工作起,他就更着迷于编程。Bear还分别在 Dragon Systems、Works.com、Spredfast、Logitech、Caringo等诸多公司工作过。Bear目前是一名高级前端开发工程师,在一家对象存储软件的领先供应商工作,提供可伸缩性的海量存储和内容保护服务。
Josip Maras是克罗地亚斯普利特大学电气工程学院、机械工程学院、造船建筑学院的博士后研究员。他获得软件工程博士学位,论文题目是“在Web应用程序开发中实现自动复用”,其中包括使用JavaScript实现的JavaScript解释器。在他的研究中,他已经出版了十多篇科学会议和期刊论文,主要是分析客户端Web应用程序的处理程序。
目录 · · · · · ·
第1部分介绍我们后续学习的主题和所需要的工具。
第1章介绍JavaScript语言及最重要的特性,推荐目前我们开发应用时需要遵循的最佳实践,包括测试和性能分析。
因为我们对JavaScript的研究是基于浏览器上下文,因此在第2章中,我们介绍客户端Web应用的生命周期,这有助于我们理解在开发Web应用程序时JavaScript所扮演的角色。
第2部分重点关注JavaScript的核心支柱之一——函数。我们将研究为什么函数如此重要,函数之间的区别,以及定义和调用函数的细节内容。我们还将特别关注一个新的函数类型——生成器函数,它在处理异步代码时尤为有效。
第3章从彻底检查JavaScript函数的定义开始涉足基础语言,也许你会感到吃惊。预期中可能是把对象作为重点,但是,让我们充分理解函数、JavaScript函数式语言,从普通的JavaScript程序员升级为JavaScript“忍者”!
在第4章中,我们继续研究函数,深入研究函数调用的机制,以及隐式函数参数的来龙去脉。
关于函数的内容还没有结束,在第5章我们把讨论推向更高的一个层级,研究两个密切相关的概念——作用域和闭包。闭包是函数式编程中的关键概念,闭包允许更细粒度地控制程序中声明和创建的对象作用域范围。控制对象的作用域范围是“忍者”编写代码的关键因素。即使不阅读后续的章节(但我们希望大家不要停下来),编程水平也会比刚开始学习时提高很多。
在第6章中,我们通过一种全新的函数类型(生成器函数)和一个新的对象类型(promise)帮助我们处理异步代码,最后结束对函数的研究。我们还展示了如何结合generator与promise,优雅地处理异步代码。
第3部分研究JavaScript的第二支柱——对象。我们将彻底地探索JavaScript中的面向对象,研究如何保护对对象的访问,如何处理集合和正则表达式。
第7章阐述对象,彻底了解JavaScript中面向对象是如何工作的。此外,我们还将引入一个新的JavaScript关键字:class。其背后概念可能与你所期望的有所不同。
第8章继续探索对象,我们将学习使用多种不同的技术保护对对象的访问。
在第9章中,我们将特别关注JavaScript中几种不同类型的集合。数组,从JavaScript诞生起就是JavaScript的一部分,map和set是最近新加入JavaScript的集合类型。
第10章着重介绍正则表达式,正则表达式是经常被忽略的一项语言特性,但正确使用正则表达式,可以减少很多代码量。我们将学习如何构建和使用正则表达式,以及如何使用正则表达式及其相关方法,优雅地解决一些重复出现的问题。
在第11章中,我们将学习使用不同技术实现代码模块化:更小、相对松耦合的代码片段,以及改善代码的机构和组织方式。
最后,第4部分研究JavaScript与Web页面的交互以及浏览器如何处理事件,最后结束本书。在结束之前的最后一个重要话题是跨浏览器开发。
第12章研究如何通过DOM API 动态修改页面,如何处理元素属性、样式,以及一些重要的性能注意事项。
第13章讨论JavaScript的单线程执行模型的重要性,以及单线程执行模型对事件循环的影响。我们还将学习间隔定时器的工作原理,以及如何使用它们提高Web应用程序的性能。
第14章检查开发时主要关心的5项跨浏览器问题:浏览器缺陷、缺陷修复、外部代码、功能缺失和回归。讨论诸如特性模拟和对象检测等方法,有助于跨浏览器开发的挑战。
· · · · · ·
发表回复
要发表评论,您必须先登录。