JavaScript忍者秘籍(第2版) - (EPUB全文下载)

文件大小:0.39 mb。
文件格式:epub 格式。
书籍内容:

JavaScript忍者秘籍(第2版)
第1部分 热身
第1章 无所不在的JavaScript
第2章 运行时的页面构建过程
第2部分 理解函数
第3章 新手的第一堂函数课:定义与参数
第4章 函数进阶:理解函数调用
第5章 精通函数:闭包和作用域
第6章 未来的函数:生成器和promise
第3部分 深入钻研对象,强化代码
第7章 面向对象与原型
第8章 控制对象的访问
第9章 处理集合
第10章 正则表达式
第11章 代码模块化
第4部分 洞悉浏览器
第12章 DOM操作
第13章 历久弥新的事件
第14章 跨浏览器开发技巧
附录A ES6附加特性
附录B 测试与调试的武器
附录C 习题答案
欢迎来到异步社区!
第1部分 热身
本书的第1部分将为你奠定JavaScript“忍者”修炼的基础。在第1章中,我们将一览JavaScript的现状,并探讨几种能够运行JavaScript代码的环境。作为JavaScript的“发祥地”,浏览器将是我们的重点关注对象。此外,我们还将讨论一些JavaScript应用开发中的最佳实践。
由于我们对JavaScript的探索限定在浏览器中,因此我们在第2章中介绍了客户端网络应用的生命周期以及JavaScript代码的执行过程与该生命周期的对应关系。
当你读完这部分之后,就可以开始JavaScript“忍者”的修炼了。
第1章 无所不在的JavaScript
本章包括以下内容:
JavaScript核心语言特性
JavaScript引擎核心要素
JavaScript开发中的3个最佳实践
我们先来聊聊Bob。2000年年初,在花了几年时间学习C++桌面应用开发之后,新晋程序员Bob从学校毕业,奔向了软件开发的广阔天地。那个时候,互联网的跨越式发展才刚刚开始。每个公司都想成为下一个亚马逊。有鉴于此,他做的第一件事就是学习网络开发。
最初他用PHP动态生成网页,并在其中穿插JavaScript代码来实现复杂的功能,例如表单验证,甚至是动态的页内计时器。时光如梭,几年之后,智能手机已然成了气候。预见到一个庞大的新兴市场即将形成,Bob决定先行一步,开始学习使用Objective-C和Java来创建运行于iOS和Android上的移动端应用。
几年来,Bob开发了很多成功的应用软件,并且都需要维护和扩展。遗憾的是,日日辗转于不同的编程语言和应用框架之间,可怜的Bob已经筋疲力尽了。
现在我们来谈一下Ann。两年前,Ann在获得软件开发相关的学位后毕业。她的专业方向偏向于网络以及基于云的应用开发。她已经开发出了一些中等规模的网络应用。这些应用基于现代的模型—视图—控制器(Model—View—Controller, MVC)框架,并且还有相应的移动应用供iOS和Android用户使用。她还开发了一款能够同时在Linux、Windows和OS X上运行的桌面应用,甚至着手将其改为完全基于云的无服务器的版本。最重要的是,她所做的所有事情都是通过JavaScript来实现的。
真是一件了不起的事情。Bob花了10年用5种语言才完成的事情,Ann只需要2年以及1种语言就完成了。纵观整个计算机的发展史,还没有哪个特定的知识集合能够如此容易地通行于不同的领域,并发挥作用。
1995年的一项10天内仓促完成的项目,现在却成为了世界上使用最广泛的编程语言之一。JavaScript现在确确实实是无处不在了,这得归功于更强大的JavaScript引擎和一众框架的出现,如Node、Apache Cordova、Ionic和Electron,是它们让这门粗陋的语言冲出了网页的牢笼,飞向了更广阔的空间。此外,如同HTML一样,这门语言本身也正处于期待已久的进化当中,从而被打造成更加适合现代应用开发的语言。
在本书中,我们首先要保证让你了解所有你需要了解的关于JavaScript的内容,这样无论你的情况与Ann还是Bob更为接近,都能够开发各种类型的应用。
你知道吗?
Babel和Traceur是什么?为什么它们对现在的JavaScript开发者至关重要?
在网络应用中,什么才是浏览器的JavaScript API的核心组成部分?
1.1 “理解”JavaScript语言
随着职业生涯的发展,许多有着与Bob和Ann类似经历的JavaScript程序员,都到了在工作中运用构成这门语言大部分的元素的阶段。但实际上,很多时候这些技能的运用都处于相当初级的层次。我们对此做出的猜测是,由于JavaScript(采用类似于C语言的语法)有着与其他得到广泛使用的类C语言(比如C#和Java)相近的皮相,从而给人留下了与这些语言相似的印象。
人们总是觉得他们对C#或者Java的了解,能为他们理解JavaScript的工作原理打下坚实的基础。然而这是一个陷阱。与其他主流语言相比,JavaScript函数式语言的血统更多一些。JavaScript中的一些概念从根本上不同于其他的语言。
这些根本性的差异包括以下内容。
函数是一等公民(一级对象)——在JavaScript中,函数与其他对象共存,并且能够像任何其他对象一样地使用。函数可以通过字面量创建,可以赋值给变量,可以作为函数参数进行传递,甚至可以作为返回值从函数中返回。在第3章中我们将花费大量篇幅解释函数,探索它作为第一类对象在编写代码中的好处。
函数闭包——大部分人对闭包都缺乏理解,然而它却从根本上例证了函数之于JavaScript的重要性。尽管就目前而言,了解当函数主动维护了在函数内使用的外部的变量,则该函数为一个闭包就已经足够。现在还没看到闭包的好处也不要紧,第5章中我们会把它搞得一清二楚。除了闭包以外,在第3章和第4章中我们也会深入探讨函数的方方面面,第5章中还会讨论标识符作用域。
作用域——直到最近,JavaScript都还没有(类似C语言中的)块级作用域下的变量,取而代之则只能依赖函数级别的变量和全局变量。
基于原型的面向对象——不同于其他主流的面向对象语 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家
书云 Open E-Library » JavaScript忍者秘籍(第2版) - (EPUB全文下载)