JavaScript核心技术开发解密
  • 推荐0
  • 收藏3
  • 浏览2.8K

JavaScript核心技术开发解密

阳波 (作者) 

  • 书  号:978-7-121-33696-6
  • 出版日期:2018-04-02
  • 页  数:232
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:安娜
电子书 ¥39.00
购买电子书
纸质版 ¥69.00
本书针对JavaScript 中的核心技术,结合前沿开发实践,对JavaScript 的内存、函数、执行上
下文、闭包、面向对象、模块等重点知识,进行系统全面的讲解与分析。每一个知识点都以实际
应用为依托,帮助读者更加直观地吸收知识点,为学习目前行业里的流行框架打下坚实基础。本
书适合JavaScript 初学者,有一定开发经验但是对于JavaScript 了解不够的读者,以及开发经验
丰富但没有形成自己知识体系的前端从业者。
本书总结了一套适合大多数人学习JavaScript的方式,帮助读者拥有进一步学习流行前端框架的能力。
前言
在阅读这本书之前,不知道大家有没有思考过一个问题:
前端学习到底有没有捷径?
在我看来,学习的捷径并不是指不用付出多少努力就能够获得成功,而是在我们付出努力之
后,能够感觉到自己的努力没有白费,能够学到更多的知识,能够真正做到一分耕耘,一分收获。
所以学习有没有捷径?我的答案是:一定有。
其实大多数人并不是不想付出努力,而是不知道如何去努力,不知道如何有效地努力。我们
想要学好一个知识,想要掌握一门技术,但是往往不知从何下手。
前端的学习也是如此。也许上手简单的HTML/CSS 知识,会给刚开始学习的读者一个掌握
起来很容易的印象。但是整个前端知识体系繁杂而庞大,导致大多数人在掌握了一些知识之后,
仍然觉得自己并没有真正入门,特别是近几年,前端行业的从业人员所要掌握的知识越来越庞
杂,入门的门槛也越来越高,甚至进阶道路也变成了一场马拉松。
也许在几年以前,我们只需会用jQuery 就可以说自己是一名合格的前端开发者,但是现在
的JavaScript 语言已经不再是几年前那样,只需处理一些简单的逻辑就足够了。随着前后端分离
的方式被越来越多的团队运用于实践,用户对UI 的要求越来越高,对性能的要求也越来越高,
JavaScript 承载了更多的任务。虽然前端行业大热,但是我们的学习压力也随之倍增。
所以我一直在思考,在这样的大环境背景下,对于新人朋友来说,什么样的学习方式能让我
们的学习效率更高?或者说,一本什么样的前端书籍才算是好书?
是将所有的前端知识按部就班地罗列出来告诉大家吗?肯定不是。
很多书籍,以及各类官方文档其实都在做这件事。但是对于多数读者来说,把所有知识罗列
出来摆在眼前,并不是一个能够掌握它们的有效方式。这种学习方法不仅效率低下,而且学完之
后,也并不知道在实践中到底如何使用它们,我们其实是迷茫的。
所以,如果有一本书,它在努力地向读者传递一种行之有效的学习方法,那么对于适合这种
学习方法的读者来说,就一定是一本好书。
这就是我们这本书努力的方向。
iv | 前言
凭借多年的工作经验,在长期写博客并与读者互动的过程中,我总结出了一套适合大多数人
的学习方式,那就是:
围绕核心,渐进增强。
本书将整个JavaScript 相关的知识点简单粗暴地划分为核心知识与周边知识。
周边知识的特点就是相对独立,不用非得学会了其他的知识点之后才能掌握它,也不用掌握
了它之后才能学习其他的知识。例如Ajax,如果仅仅只是想要使用它,那么用别人封装好的方
法,通过官方文档或者搜索引擎,只需要两分钟你就知道怎么使用。周边知识不会成为我们学习
的瓶颈。
而核心知识不一样,核心知识是整个前端知识体系的骨架所在。它们前后依赖,环环相扣。
例如,在核心知识链中,如果你搞不清楚内存空间管理,你可能就不会真正明白闭包的原理,就
没办法完全理解原型链,这是一个知识的递进过程。我们在学习过程中遇到的瓶颈,往往都是由
于某一个环节的核心知识没有完整掌握造成的。而核心知识的另一个重要性就在于,它们能够帮
助我们更加轻松地掌握其余的周边知识。
所以,如果读者知道这条核心知识链到底是什么,并且彻底地掌握它们,那么你就已经具备
了成为一名优秀前端程序员的能力。这样的能力能够让你在学习其他知识点的时候方向明确,并
且充满底气。
所以这本书的主要目的就在于帮助读者拥有这样的进阶能力。
基于这个思路,这本书的呈现方式必定与其他图书不同。本书不会按部就班地告诉你如何声
前言| v
明变量、如何声明函数,不会罗列出所有的基础知识,对于基础知识的传授,《JavaScript 高级编
程》已经做得足够好,因此没有必要重复做同样的事情。我会一步一步与大家分享这条完整的核
心链。我的期望是,当大家学完这本书中的知识后,能够对前端开发的现状有一个大致的了解,
知道什么知识是最有用的,什么知识是工作中需要的,拥有进一步学习流行前端框架的能力,拥
有在前端方向自主学习、自主进步的知识基础与能力。
最后希望在这本书的陪伴下,大家能有一个愉快的、充实的学习历程。
读者服务
轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。
? 下载资源:本书如提供示例代码及资源文件,均可在下载资源处下载。
? 提交勘误:您对书中内容的修改意见可在提交勘误处提交,若被采纳,将获赠博文视点社
区积分(在您购买电子书时,积分可用来抵扣相应金额)。
? 交流互动:在页面下方读者评论处留下您的疑问或观点,与我们和其他读者一同学习交流。
页面入口:http://www.broadview.com.cn/33696

目录

1 三种基础数据结构1
1.1 栈 1
1.2 堆 3
1.3 队列. 4
2 内存空间5
2.1 基础数据类型与变量对象. 5
2.2 引用数据类型与堆内存空间 . 7
2.3 内存空间管理 . 9
3 执行上下文11
3.1 实例1 11
3.2 实例2 15
3.3 生命周期 18
4 变量对象20
4.1 创建过程 20
4.2 实例分析 23
4.3 全局上下文的变量对象 26
目录| vii
5 作用域与作用域链27
5.1 作用域 . 27
5.1.1 全局作用域27
5.1.2 函数作用域28
5.1.3 模拟块级作用域 29
5.2 作用域链 31
6 闭包33
6.1 概念. 33
6.2 闭包与垃圾回收机制 . 38
6.3 闭包与作用域链 39
6.4 在Chrome 开发者工具中观察函数调用栈、作用域链与闭包. 41
6.5 应用闭包 49
6.5.1 循环、setTimeout 与闭包. 49
6.5.2 单例模式与闭包 50
6.5.3 模块化与闭包 . 53
7 this 59
8 函数与函数式编程67
8.1 函数. 67
8.2 函数式编程. 75
8.2.1 函数是一等公民 77
8.2.2 纯函数 . 80
8.2.3 高阶函数 85
8.2.4 柯里化 . 91
8.2.5 代码组合 101
viii | 目录
9 面向对象106
9.1 基础概念 106
9.1.1 对象的定义106
9.1.2 创建对象 107
9.1.3 构造函数与原型 108
9.1.4 更简单的原型写法114
9.1.5 原型链 . 114
9.1.6 实例方法、原型方法、静态方法117
9.1.7 继承118
9.1.8 属性类型 122
9.1.9 读取属性的特性值127
9.2 jQuery 封装详解 127
9.3 封装一个拖曳对象. 134
9.4 封装一个选项卡 147
9.5 封装无缝滚动 . 153
10 ES6 与模块化159
10.1 常用语法知识 . 160
10.2 模板字符串. 167
10.3 解析结构 168
10.4 展开运算符. 171
10.5 Promise 详解173
10.5.1 异步与同步173
10.5.2 Promise. 175
10.5.3 async/await . 185
10.6 事件循环机制 . 189
10.7 对象与class . 197
10.8 模块化 . 202
10.8.1 基础语法 204
10.8.2 实例209

本书勘误

印次
  • 页码:62  •  行数:26?  •  印次: 1

    demo02中console.log(window.foo());//20
    这里20是错误的结果

    jamie0327 提交于 2018/7/12 14:16:38
    安娜 确认于 2018/12/24 8:56:43
  • 页码:62  •  行数:25  •  印次: 1

    console.log(window.foo());的结果应该是40,书中给出的是20

    提交于 2018/10/30 0:52:03
    安娜 确认于 2018/12/24 9:25:03
  • 页码:62  •  行数:23  •  印次: 1

    console.log(window.foo()) // 20
    此时a为20,输出为40,原文交代不明。

    一pan花生 提交于 2018/11/14 11:05:25
    安娜 确认于 2018/12/24 9:25:10

读者评论

  • 博文网站登录体验不好

    Snyo123发表于 2022/12/27 9:55:52
  • 源码里头的js怎么都是html啊,能重新传下吗

    sc15258220131发表于 2019/2/20 11:35:19
    • 在里面找到作者github地址了

      sc15258220131发表于 2019/2/20 11:36:16
  • 3.2 实例2中对闭包的执行上下文的出栈入栈顺序描述有误,应该是f1执行完之后,因为闭包调用f1的变量,f1不能出栈。执行到result(),f2入栈,f2执行完之后,f2出栈,f1出栈。

    chansl发表于 2018/6/23 0:24:28

下载资源

电子书版本

  • Epub

相关图书

写给大忙人的现代JavaScript

(德国)HORSTMANN, CAY S. (作者) 浙江阿里巴巴聚橙技术发展有限公司 (译者)

本书是一本简明的现代 JavaScript 教程,不仅涵盖函数式编程、JS 语法、JS 库等基础性内容,还介绍了国际化、异步编程、标准模块系统、元编程等较为复杂...

¥109.00

JavaScript 二十年

王译锋 (作者)

本书主要讲述了从 1995 年到 2015 年这20年间,JavaScript在创建、设计和演变方面所经历的过程。全书分为4个部分,每个部分都涵盖了 JavaS...

¥79.00

JavaScript语言精髓与编程实践(第3版)

周爱民 (作者)

本书详细讲述JavaScript作为一种混合式语言的各方面特性,包括过程式、面向对象、函数式和动态语言特性等,在动态函数式语言特性方面有着尤为细致的讲述。本书主...

¥144.00

狼书(卷2):Node.js Web应用开发

桑世龙 (作者)

目前市面的nodejs书籍基于0.10的为多,而基于最新4.X的非常少,本书是唯一一本基于node.js 4.0以上版本的书。而Koa是下一代node web的...

¥69.30

狼书(卷1):更了不起的Node.js

狼叔 桑世龙 (作者)

Node.js开发简单,性能极好,一经发布便成了明星级项目。随着大前端领域的蓬勃发展,跨平台开发、API构建、Web应用开发等场景愈加常见,Node.js也成为...

¥55.30

Koa与Node.js开发实战

Node.js 10已经进入LTS时代!其应用场景已经从脚手架、辅助前端开发(如SSR、PWA等)扩展到API中间层、代理层及专业的后端开发。Node.js在企...

¥49.00