JavaScript语法简明手册

《JavaScript语法简明手册》

  • 出版社:人民邮电出版社
  • ISBN:9787115539922
  • 版次:1
  • 商品编码:12680717
  • 品牌:iTuring
  • 包装:平装
  • 开本:16开
  • 出版时间:2020-07-01
  • 用纸:胶版纸
  • 页数:215
  • 正文语种:中文
基本介绍书籍目录点评信息
  • 书籍内容

    本书包含大量精心绘制的示意图和丰富的示例代码,讲解了常用的JavaScript语法特性,为JavaScript初学者绘制了一条平缓的学习曲线。本书涵盖原生数据类型、强制类型转换、作用域、闭包、运算符、面向对象编程、事件循环机制等内容。这些内容由浅入深,适合初学者按顺序阅读。本书还突出了ES10引入的一些新特性,便于有进阶需要的读者翻阅。

    编辑推荐

    想学JavaScript,但不想"啃"大部头?
    既想了解经典特性,又想与时俱进?
    拒绝枯燥?适合视觉型学习?
    以上需求通通满足!
    1.适合零基础入门
    浅显易懂,为进阶打好基础。适合放在手边,随时翻阅。
    2.精选语法要点,内容实用
    涵盖常用特性,如模板字符串、箭头函数、对象解构、生成器,以及ES10新增的内容,包括基本数据类型bigint、稳定的数组排序算法、扁平化多维数组。
    3.彩色代码图,重点突出
    超过200幅彩色代码图和示意图,直观呈现抽象概念,为你绘制有趣的JavaScript学习路线。

    作者简介

    【作者简介】
    格雷格·赛德尼科夫(Greg Sidelnikov),以“JavaScript老师”自称,从2004年开始编写和出版各类程序设计教程,涉及JavaScript、CSS、jQuery、Node API等,其中一些被加州大学欧文分校等学校采用。
    【译者简介】
    侯振龙,管理科学与工程专业硕士,软件开发工程师,具有10年软件开发经验,现就职于某外资企业。
  • 第 1章 讲述形式 1
    1.1 理论 1
    1.2 实例 1
    1.3 代码清单 1
    1.4 示意图 2
    1.4.1 抽象概念 2
    1.4.2 代码片段 3
    1.5 主要内容 3
    1.6 注意事项 4
    第 2章 Chrome控制台 5
    2.1 copy函数 5
    2.2 console.dir 5
    2.3 console.error 6
    2.4 console.time和console.timeEnd 7
    2.5 console.clear 7
    2.6 打印对象 8
    第3章 欢迎使用JavaScript 9
    3.1 入口点 9
    3.1.1 DOMContentLoaded 9
    3.1.2 注意事项 10
    3.1.3 导入外部脚本 11
    3.1.4 导入与导出 12
    3.2 严格模式 14
    3.2.1 对一个作用域开启严格模式 14
    3.2.2 严格模式小结 15
    3.3 字面量 15
    3.4 变量 17
    3.4.1 值占位符 17
    3.4.2 动态类型 18
    3.4.3 定义或声明 18
    3.5 引用传递 18
    3.6 作用域的怪癖 19
    3.6.1 怪癖1:函数内的let和const与全局变量 19
    3.6.2 怪癖2:var依附于window/this对象,而let和const不会 20
    第4章 语句 21
    4.1 求值语句 21
    4.2 表达式 22
    第5章 基本类型 23
    5.1 基本类型 23
    5.1.1 boolean 24
    5.1.2 null 24
    5.1.3 undefined 24
    5.1.4 number 25
    5.1.5 bigint 26
    5.1.6 string 27
    5.2 模板字符串 28
    5.3 symbol 30
    5.4 构造函数和实例 33
    5.5 对基本类型执行方法 35
    5.5.1 使用括号访问对象属性 35
    5.5.2 连接方法 36
    第6章 强制类型转换 37
    6.1 强制类型转换示例 37
    6.1.1 构造函数中的强制类型转换 38
    6.1.2 强制类型转换详解 39
    6.2 多个值相加 42
    6.3 运算符优先级 43
    6.4 字符串与数值的比较 43
    6.5 运算符优先级和结合性一览表 45
    6.6 左值和右值 47
    6.6.1 赋值运算符 47
    6.6.2 算术加法运算符 47
    6.7 null与undefined 47
    第7章 作用域 50
    7.1 变量定义 50
    7.1.1 区分大小写 50
    7.1.2 定义 50
    7.2 变量提升 51
    7.3 函数提升 53
    7.4 变量类型 56
    7.5 作用域可见性的区别 56
    7.5.1 在全局作用域中 56
    7.5.2 在函数作用域中 57
    7.5.3 闭包 58
    7.5.4 在块级作用域中 59
    7.5.5 在类中 59
    7.6 const 60
    7.6.1 const和数组 61
    7.6.2 const和对象字面量 61
    7.6.3 const小结 62
    7.7 注意事项 62
    第8章 运算符 63
    8.1 算术运算符 63
    8.2 赋值运算符 65
    8.3 字符串运算符 65
    8.4 比较运算符 65
    8.5 逻辑运算符 66
    8.6 位运算符 67
    8.7 typeof运算符 67
    8.8 三元运算符 68
    8.9 delete 68
    8.10 in 69
    第9章 .rest和.spread 71
    9.1 rest属性 71
    9.2 spread属性 72
    9.3 .rest和.spread 73
    9.3.1 语法详解 73
    9.3.2 编写带rest参数的sum()函数 75
    9.3.3 使用spread来扁平化数组 76
    9.3.4 在数组、对象或函数参数之外使用spread 76
    9.4 解构赋值 77
    9.4.1 使用spread合并对象 79
    9.4.2 使用spread合并数组 80
    第 10章 闭包 81
    10.1 闭包入门 81
    10.1.1 什么是闭包 81
    10.1.2 漂亮的闭包 84
    10.1.3 闭包小结 86
    10.2 参数个数 87
    10.3 柯里化 87
    第 11章 循环 89
    11.1 JavaScript中的循环类型 89
    11.1.1 递增和递减 89
    11.1.2 动态生成HTML元素 90
    11.1.3 渲染列表 90
    11.1.4 动态排序的表格 90
    11.1.5 注意事项 90
    11.2 for循环 91
    11.2.1 基于零索引的计数器 91
    11.2.2 无限for循环 91
    11.2.3 多条语句 92
    11.2.4 递增数字 92
    11.2.5 for循环和let作用域 92
    11.2.6 嵌套for循环 93
    11.2.7 循环的长度 93
    11.2.8 跳步 94
    11.2.9 提前中断 94
    11.2.10 自定义中断条件 94
    11.2.11 跳转到标签 95
    11.2.12 跳出标记的块级作用域 96
    11.3 for.of循环 96
    11.3.1 for.of和生成器 97
    11.3.2 for.of和字符串 98
    11.3.3 for.of和数组 98
    11.3.4 for.of和对象 99
    11.3.5 for.of循环和转换的可迭代对象 99
    11.4 for.in循环 100
    11.5 while循环 100
    第 12章 数组和字符串 102
    12.1 Array.prototype.sort 102
    12.2 Array.forEach 103
    12.3 Array.every 104
    12.4 Array.some 105
    12.5 Array.filter 106
    12.6 Array.map 106
    12.7 Array.reduce 107
    12.7.1 Array.reduce与Array.filter 107
    12.7.2 更新数据库中的对象属性 107
    12.7.3 reduce的实际应用 107
    12.7.4 注意事项 108
    12.8 Array.flat 109
    12.9 Array.flatMap 109
    12.10 String.prototype.matchAll 109
    12.10.1 使用全局匹配符/g 110
    12.10.2 正则表达式的捕获组 110
    12.10.3 使用matchAll的理由 112
    12.10.4 matchAll的工作方式 112
    12.10.5 使用matchAll的捕获组示例 112
    12.10.6 注意事项 113
    12.11 比较两个对象 113
    12.11.1 编写arrcmp 115
    12.11.2 改进objcmp 116
    12.11.3 针对更复杂的对象测试objcmp 117
    12.11.4 objcmp小结 119
    第 13章 函数 120
    13.1 函数 120
    13.1.1 函数结构 120
    13.1.2 匿名函数 121
    13.1.3 将函数赋给变量 122
    13.2 this关键字的来源 125
    第 14章 高阶函数 126
    14.1 理论 126
    14.1.1 抽象 126
    14.1.2 编写第 一个高阶函数 126
    14.2 定义 127
    14.3 抽象 127
    14.4 迭代器 128
    14.4.1 逐行解析map函数 129
    14.4.2 调用自定义的map函数 130
    14.4.3 调用Array.map 131
    14.4.4 for循环怎么了 131
    14.5 注意事项 131
    第 15章 箭头函数 132
    15.1 箭头函数 132
    15.1.1 无return的返回 133
    15.1.2 作为事件的箭头函数 133
    15.2 箭头函数的结构 134
    15.2.1 实参 135
    15.2.2 从箭头函数返回 135
    15.3 ES风格函数的相似性 136
    15.3.1 无this绑定 137
    15.3.2 无arguments对象 137
    15.3.3 无构造函数 137
    15.3.4 传统函数和箭头函数用作事件回调函数 138
    15.3.5 继承的this语境 139
    第 16章 动态创建HTML元素 140
    16.1 设置CSS样式 140
    16.2 使用appendChild方法向DOM中添加元素 141
    16.2.1 document.body 141
    16.2.2 getElementById 142
    16.2.3 querySelector 142
    16.3 编写函数来创建元素 142
    16.3.1 函数参数 142
    16.3.2 函数体 143
    16.3.3 导入并使用absolute函数 145
    16.4 使用构造函数来创建对象 146
    第 17章 原型 147
    17.1 原型 147
    17.1.1 对象字面量的原型 148
    17.1.2 原型链接 149
    17.1.3 原型链 150
    17.1.4 查找方法 150
    17.1.5 数组方法 151
    17.2 父对象 152
    17.2.1 扩展自己的对象 152
    17.2.2 constructor属性 153
    17.2.3 Function 154
    17.3 原型实践 155
    17.3.1 对象字面量 155
    17.3.2 使用Function构造函数 156
    17.3.3 原型 157
    17.3.4 使用Object.create来创建对象 158
    17.3.5 示例继续 159
    17.3.6 构造函数 160
    17.3.7 new运算符 161
    17.3.8 class关键字 162
    第 18章 面向对象编程 164
    18.1 Ingredient 164
    18.2 FoodFactory 164
    18.3 Vessel 164
    18.4 Burner 165
    18.5 灶台类型与多态炉灶 166
    18.6 类定义 166
    18.6.1 print.js 167
    18.6.2 Ingredient 167
    18.6.3 FoodFactory 168
    18.6.4 Fridge 168
    18.6.5 convert_energy_to_heat 169
    18.6.6 Vessel 170
    18.6.7 Burner 172
    18.6.8 Range 172
    18.7 组装 175
    18.7.1 定义成分 176
    18.7.2 实例化灶台对象 177
    第 19章 事件 179
    19.1 浏览器事件 179
    19.2 合成事件 179
    19.2.1 事件对象 179
    19.2.2 事件捕获与事件冒泡 180
    19.2.3 dispatchEvent 181
    19.2.4 removeEventListener 181
    19.2.5 CustomEvent对象 182
    19.2.6 setTimeout 183
    19.2.7 setInterval 184
    19.3 拦截浏览器事件 184
    19.4 显示鼠标位置 185
    19.5 通用的鼠标事件类 186
    19.5.1 包含和使用Mouse类 187
    19.5.2 解析Mouse类 188
    第 20章 网络请求 190
    20.1 回调地狱 192
    20.2 Promise 193
    20.2.1 Promise.resolve 193
    20.2.2 Promise.reject 195
    20.2.3 组装 195
    20.2.4 Promise.all 196
    20.2.5 Promise解析 197
    20.2.6 Promise小结 197
    20.3 axios 198
    20.4 FetchAPI 198
    20.5 获取POST负载 199
    20.6 async/await 200
    20.6.1 async关键字的基础 200
    20.6.2 await 202
    20.6.3 async/await中的try-catch 202
    20.6.4 小结 203
    20.7 生成器 204
    20.7.1 yield 204
    20.7.2 捕获错误 205
    第 21章 事件循环 206
    第 22章 调用栈 209
    22.1 什么是调用栈 209
    22.2 执行语境 211
    22.2.1 什么是执行语境 211
    22.2.2 根执行语境 211
    22.2.3 工作方式 211
    22.3 代码中的执行语境 211
    22.3.1 window与全局作用域 212
    22.3.2 调用栈 212
    22.3.3 call、bind、apply 214
    22.3.4 栈溢出 214
微信公众号

热门文章

更多