登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書

『簡體書』JavaScript 高级编程权威指南

書城自編碼: 4169133
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 王红元,余辉程
國際書號(ISBN): 9787121514500
出版社: 电子工业出版社
出版日期: 2025-11-01

頁數/字數: /

售價:HK$ 163.9

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
建安 英雄的绝响(214—219)
《 建安 英雄的绝响(214—219) 》

售價:HK$ 64.9
DK让你变聪明的哲学书(DK聪明学校系列)
《 DK让你变聪明的哲学书(DK聪明学校系列) 》

售價:HK$ 74.8
经纬度·何以中国·周秦之变:地理·人文·技术
《 经纬度·何以中国·周秦之变:地理·人文·技术 》

售價:HK$ 107.8
永劫馆超连续杀人事件:魔女决定与X赴死
《 永劫馆超连续杀人事件:魔女决定与X赴死 》

售價:HK$ 60.5
财富心理学:通向富足人生的50个想法
《 财富心理学:通向富足人生的50个想法 》

售價:HK$ 82.5
平台革命:改变世界的商业模式
《 平台革命:改变世界的商业模式 》

售價:HK$ 86.9
思想帝国:公共外交的起源与美国对外政策的转变(公共外交译丛)
《 思想帝国:公共外交的起源与美国对外政策的转变(公共外交译丛) 》

售價:HK$ 88.0
公私同圣的秩序建构:王权视角下皇帝祭祀与祠神敕封的隔绝和整合 尔文智识生活系列
《 公私同圣的秩序建构:王权视角下皇帝祭祀与祠神敕封的隔绝和整合 尔文智识生活系列 》

售價:HK$ 94.6

編輯推薦:
☆适读人群广泛:有JS基础的初学者与进阶者皆可受益。
☆内容循序渐进:从原理到编程实践,按模块层层递进。
☆深度拆解原理:讲透语言机制与规范背后的设计逻辑。
☆覆盖高频面试:涵盖闭包、事件循环、异步等核心难点。
☆实战工具函数:手写深拷贝/防抖/节流函数及事件总线。
☆图解详尽直观:400余幅插图还原运行机制与内存模型。
☆参考视频辅助理解:在B站“coderwhy官方账号”中观看。
☆配套代码:根据封底读者服务,加入读者群即可获取代码。
內容簡介:
本书系统介绍JavaScript的主要机制与新特性。第1~4章剖析JavaScript的运行环境,揭示浏览器内核与V8引擎的运行原理。第5~12章介绍作用域与函数,涵盖闭包、this绑定、箭头函数、柯里化实践,以及apply()、call()与bind()三大函数方法。第13~16章通过对比对象创建方案、图解原型链关系的内存模型及寄生组合式继承方案,破解继承体系之间的矛盾。第17~25章解析ES6~ES15的特性变化,结合ECMAScript官方版本的迭代,辩证解读技术的演进过程。第26~29章介绍异步编程知识体系,从Promise手写实现、迭代器协议到async/await语法糖,并辅以事件循环时序图。第30~34章讲解工程实践,包括模块化方案选型,npm、pnpm与yarn生态对比,BOM与DOM操作规范,并手写防抖和节流函数、事件总线等生产级工具。 來源:香港大書城megBookStore,http://www.megbook.com.hk
本书适用于希望突破技术瓶颈的中高级前端开发者、具备基础编程语法知识的学习者,以及需要系统建立JavaScript知识体系的跨语言开发者等,也可作为高等院校计算机或软件工程专业的师生用书和培训学校的教材。
關於作者:
王红元,网名“Coderwhy”,前端领域大佬。担任广州市弘源科教软件有限公司CEO、澳大利亚The WAIN公司CTO,作为腾讯AI高校训练营的特聘讲师,曾为多所双一流高校授课。精通C/C++、Python、Java、Objective-C、Swift、JavaScript和TypeScript等多种编程语言。曾出版《Vue.js 3 + TypeScript完全指南》一书,获得大量读者好评。
余辉程,阿里云专家博主、掘金优秀创作者,在掘金社区拥有数千粉丝。熟练掌握JavaScript、TypeScript、Vue.js、React、Vite、Node.js等前端技术栈。目前管理万人规模的前端社区,热衷于提升自身技能并为开源社区做出贡献。
目錄
1 邂逅JavaScript高级编程1
1.1 前端开发需要掌握的三大技术1
1.2 JavaScript的重要性2
1.2.1 JavaScript的广泛应用2
1.2.2 JavaScript中让人迷惑的知识点4
1.3 TypeScript会取代JavaScript吗4
1.3.1 JavaScript的发展历程5
1.3.2 JavaScript是一门编程语言5
1.4 编程语言之间的不同之处6
1.4.1 机器语言6
1.4.2 汇编语言6
1.4.3 高级语言6
后续预告7
2 认识浏览器8
2.1 浏览器的工作原理8
2.2 认识浏览器内核12
2.2.1 什么是浏览器内核12
2.2.2 常见的浏览器内核12
2.3 渲染引擎的工作流程13
2.3.1 HTML文件的解析过程14
2.3.2 生成CSS规则15
2.3.3 构建渲染树15
2.3.4 布局与绘制16
2.3.5 回流与重绘16
2.3.6 合成18
后续预告18
3 V8引擎的运行原理19
3.1 认识JavaScript引擎19
3.1.1 什么是JavaScript引擎19
3.1.2 浏览器内核与JS引擎的关系20
3.2 V8引擎的原理与处理流程20
3.3 V8引擎的架构设计23
3.4 V8的代码转化过程25
3.4.1 词法分析的过程26
3.4.2 语法分析的过程27
3.4.3 转化的字节码28
3.4.4 生成的机器码29
后续预告30
4 V8引擎的内存管理31
4.1 认识内存管理31
4.2 执行上下文栈32
4.3 JavaScript引擎的执行过程33
4.3.1 初始化全局对象33
4.3.2 代码的执行过程33
4.4 作用域链的查找规则39
4.4.1 对作用域、作用域链的理解39
4.4.2 AO、GO与VO、VE的区别40
4.4.3 var缺陷42
后续预告43
5 作用域链面试题与垃圾回收45
5.1 作用域链面试题45
5.1.1 面试题145
5.1.2 面试题246
5.1.3 面试题348
5.1.4 面试题449
5.1.5 面试题549
5.1.6 作用域补充49
5.2 JavaScript中的垃圾回收50
5.2.1 内存的分配方式50
5.2.2 常见的垃圾回收算法51
后续预告53
6 “一等公民”函数55
6.1 什么是一等公民55
6.1.1 函数是一等公民55
6.1.2 封装函数案例56
6.2 高阶函数57
6.2.1 筛选偶数57
6.2.2 函数与方法的区别61
6.2.3 如何学习高阶函数61
6.2.4 语法62
后续预告63
7 闭包64
7.1 什么是闭包64
7.1.1 闭包的定义64
7.1.2 高阶函数的执行过程65
7.1.3 闭包的本质67
7.1.4 函数执行过程中的内存表现69
7.1.5 闭包的执行过程70
7.2 闭包的内存泄漏73
7.2.1 闭包内存泄漏的解决方案73
7.2.2 闭包内存泄漏案例75
7.2.3 激活对象不使用的属性78
7.3 JS闭包引用的自由变量销毁79
后续预告80
8 this指向及绑定规则、优先级81
8.1 什么是this81
8.1.1 为什么需要this81
8.1.2 this在全局作用域中的指向84
8.1.3 同一个函数的不同this指向86
8.2 this的绑定规则87
8.2.1 规则1:默认绑定87
8.2.2 规则2:隐式绑定90
8.2.3 规则3:显式绑定92
8.2.4 规则4:new绑定96
8.3 一些函数的this绑定97
8.3.1 内置函数的绑定97
8.3.2 setTimeout定时器97
8.3.3 监听点击98
8.3.4 数组中的绑定98
8.4 this规则的优先级100
8.5 特殊绑定103
8.5.1 忽略显式绑定103
8.5.2 间接函数引用103
后续预告105
9 箭头函数及this面试题107
9.1 箭头函数107
9.1.1 什么是箭头函数107
9.1.2 箭头函数的使用108
9.2 this面试题115
9.2.1 面试题1115
9.2.2 面试题2116
9.2.3 面试题3117
9.2.4 面试题4118
后续预告119
10 手写apply()、call()和bind()方法以及认识arguments对象120
10.1 手写apply()、call()和bind()方法120
10.1.1 call()方法的手写实现121
10.1.2 为函数传递参数122
10.1.3 ES6中的剩余参数125
10.1.4 apply()方法的手写实现126
10.1.5 手写call()和apply()方法的补充127
10.1.6 bind()方法的手写实现127
10.2 认识arguments129
10.2.1 arguments转数组129
10.2.2 数组中slice()方法的手写实现130
10.2.3 箭头函数:无arguments131
后续预告132
11 纯函数及柯里化134
11.1 理解JavaScript纯函数134
11.1.1 副作用135
11.1.2 纯函数的案例135
11.1.3 纯函数的优势136
11.2 JavaScript柯里化137
11.2.1 柯里化的结构137
11.2.2 柯里化的作用138
11.3 理解组合函数143
11.4 通用组合函数的实现144
后续预告145
12 with、eval和严格模式146
12.1 JS碎片知识补充146
12.1.1 with语句146
12.1.2 eval函数147
12.2 严格模式147
12.2.1 严格模式的定义与应用147
12.2.2 严格模式的限制149
后续预告152
13 对象和属性描述符153
13.1 面向对象是现实的抽象方式153
13.1.1 面向对象编程153
13.1.2 JS中的面向对象154
13.1.3 对象的数据属性描述符155
13.2 Object.defineProperty()方法155
13.2.1 属性描述符分类157
13.2.2 学习属性描述符的意义160
后续预告161
14 对象方法的补充及创建对象方案162
14.1 在对象上同时定义多个属性162
14.2 对象方法补充165
14.3 创建多个对象方案166
14.3.1 创建对象方案:工厂模式167
14.3.2 认识构造函数169
14.3.3 创建对象方案:构造函数170
后续预告172
15 对象的原型174
15.1 认识对象的原型174
15.1.1 原型的定义174
15.1.2 原型的作用176
15.1.3 函数的原型prototype177
15.1.4 new操作符177
15.2 Person构造函数的原型内存图178
15.3 函数原型上的属性181
15.3.1 为prototype添加属性181
15.3.2 constructor属性182
15.4 重写原型对象184
15.5 创建对象:构造函数和原型组合187
后续预告188
16 彻底攻克原型链190
16.1 可枚举属性190
16.2 类与对象191
16.3 面向对象特性:继承191
16.3.1 继承的重要性192
16.3.2 JavaScript中的原型链192
16.3.3 Object的原型195
16.3.4 原型链关系的内存图201
16.3.5 Object是所有类的父类202
16.3.6 通过原型链继承203
16.3.7 借用构造函数继承206
16.3.8 原型式继承函数209
16.3.9 寄生式继承函数213
16.4 寄生组合式继承215
16.5 对象的方法补充218
16.6 原型继承关系222
后续预告224
17 ES6之class类与构造函数225
17.1 ES6是什么225
17.1.1 TC39技术委员会225
17.1.2 Babel227
17.2 定义类228
17.2.1 函数的二义性228
17.2.2 类的必要性228
17.2.3 类的特点229
17.3 在class类中定义构造函数和实例方法230
17.3.1 类的构造函数230
17.3.2 类的实例方法231
17.3.3 类和构造函数的比较233
17.3.4 类和对象的访问器方法编写234
17.3.5 类中静态方法的定义235
17.3.6 实例方法与静态方法的区别236
后续预告238
18 ES6的类与继承实现239
18.1 类通过extends实现继承特性239
18.2 super关键字240
18.3 ES6转ES5代码243
18.3.1 Babel243
18.3.2 阅读源码的技巧247
后续预告247
19 ES6类的混入与解构248
19.1 扩展继承内置类248
19.2 类的混入249
19.3 React中的高阶组件252
19.4 多态253
19.4.1 多态的定义253
19.4.2 传统面向对象的多态253
19.4.3 JavaScript中的多态256
19.5 对象字面量256
19.5.1 属性增强256
19.5.2 方法增强258
19.5.3 计算属性名258
19.6 解构260
19.6.1 数组解构260
19.6.2 对象解构262
后续预告265
20 var的接替者:let与const266
20.1 let和const的基本使用266
20.2 let/const与window的关系268
20.2.1 词法环境270
20.2.2 块级作用域270
20.2.3 暂时性死区273
20.3 实际开发中的选择274
后续预告274
21 ES6的模板字符串与剩余参数275
21.1 模板字符串的基本使用275
21.2 函数默认参数277
21.2.1 剩余参数281
21.2.2 箭头函数282
21.3 展开语法283
21.3.1 对象的引用赋值、浅拷贝与深拷贝285
21.3.2 数值的表示286
后续预告287
22 ES6的Symbol类型与Set、Map数据结构288
22.1 Symbol的基本使用288
22.1.1 Symbol值作为key289
22.1.2 Symbol方法291
22.2 数据结构Set292
22.2.1 Set的基本使用292
22.2.2 Set的常见方法294
22.3 WeakSet的基本使用295
22.3.1 WeakSet的常见方法295
22.3.2 弱引用与强引用296
22.3.3 WeakSet的应用场景298
22.4 数据结构Map299
22.4.1 Map的基本使用300
22.4.2 Map的常见方法301
22.5 WeakMap的基本使用303
22.5.1 WeakMap的常见方法304
22.5.2 WeakMap的应用场景304
后续预告305
23 ES7至ES15新特性详解306
23.1 ES2016(ES7)新特性306
23.1.1 Array.prototype.includes()方法306
23.1.2 指数运算符309
23.2 ES2017(ES8)新特性309
23.2.1 Object.values()方法309

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2025 (香港)大書城有限公司  All Rights Reserved.