JavaScript快速入门与开发实战
正版保障 假一赔十 可开发票
¥
54.82
6.2折
¥
89
全新
库存67件
作者郭超著
出版社化学工业出版社
ISBN9787122433725
出版时间2024-05
装帧平装
开本16开
定价89元
货号15820564
上书时间2024-10-01
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
无
目录
第1章 JavaScript入门 001 1.1 初识JavaScript 001 1.1.1 JavaScript的发展历史 001 1.1.2 JavaScript的特点 002 1.1.3 JavaScript的应用场景 002 1.1.4 JavaScript的开发工具 002 1.2 JavaScript的组成 003 小结 004 第2章 在网页中使用JavaScript 005 2.1 行内方式 005 2.1.1 通过“JavaScript:”调用函数 005 2.1.2 在事件属性中调用函数 005 2.2 内嵌方式 006 2.3 链接外部JavaScript文件方式 006 小结 006 第3章 JavaScript基本语法 007 3.1 变量 007 3.1.1 概述 007 3.1.2 变量的使用 007 3.1.3 变量的重新赋值 008 3.1.4 变量使用注意事项 008 3.1.5 变量命名规范 009 3.1.6 案例:两个变量的交换 009 3.2 数据类型 010 3.2.1 概述 010 3.2.2 数据类型的分类 010 3.2.3 数字类型 010 3.2.4 字符串类型 011 3.2.5 布尔类型 012 3.2.6 Null类型 012 3.2.7 Undefined类型 013 3.2.8 typeof关键字 013 3.3 数据类型转换 014 3.3.1 概述 014 3.3.2 显式类型转换 014 3.3.3 隐式类型转换 015 3.4 运算符 016 3.4.1 概述 016 3.4.2 算术运算符 016 3.4.3 关系运算符 017 3.4.4 逻辑运算符 018 3.4.5 赋值运算符 019 3.4.6 三目运算符 020 3.4.7 运算符的优先级 020 3.5 注释 021 3.5.1 概述 021 3.5.2 单行注释 021 3.5.3 多行注释 021 3.6 输入输出语句 021 3.6.1 说明 021 3.6.2 输入 021 3.6.3 输出 022 3.7 任务练习 022 小结 023 第4章 程序结构 024 4.1 顺序结构 024 4.2 选择结构 024 4.2.1 if结构 025 4.2.2 if...else...结构 026 4.2.3 if...else if...else结构 027 4.2.4 switch结构 029 4.2.5 条件嵌套 031 4.2.6 多分支选择结构和switch对比 032 4.3 循环结构 032 4.3.1 for循环 032 4.3.2 while循环 033 4.3.3 do...while循环 034 4.3.4 for和while的对比 035 4.3.5 while和do...while的对比 035 4.3.6 循环嵌套 036 4.4 跳转语句 037 4.4.1 break语句 037 4.4.2 continue语句 038 4.5 任务练习 038 小结 039 第5章 数组 040 5.1 概述 040 5.2 定义数组 041 5.2.1 构造数组 041 5.2.2 数组字面量 041 5.3 访问数组 041 5.3.1 数组下标 041 5.3.2 数组长度 042 5.4 数组遍历 043 5.4.1 for循环索引方式 043 5.4.2 for...in方式 043 5.4.3 for...of方式 044 5.5 数组的常见操作 044 5.5.1 求数组优选值 044 5.5.2 两个数组合并 045 5.5.3 数组筛选 045 5.5.4 数组翻转 046 5.5.5 对数组元素去重 047 小结 047 第6章 程序调试及常见错误 048 6.1 为什么要进行程序调试 048 6.2 常见的程序调试方式 048 6.2.1 使用alert方法调试 048 6.2.2 使用log方法调试 049 6.3 Sources断点调试 051 6.3.1 断点调试概述 051 6.3.2 常用的调试按钮 052 6.3.3 Watch监视器的使用 052 6.4 程序常见错误 053 6.4.1 错误类型 053 6.4.2 错误解决 053 6.5 任务练习 054 小结 054 第7章 函数 055 7.1 概述 055 7.2 函数使用入门 055 7.2.1 定义函数 055 7.2.2 调用函数 056 7.3 深入理解函数作用 056 7.3.1 封装重复性代码 056 7.3.2 实现某种功能 057 7.4 函数参数 058 7.4.1 参数的作用 058 7.4.2 形参 058 7.4.3 实参 059 7.5 带参数的函数调用的说明 059 7.5.1 形参和实参个数一样 059 7.5.2 实参个数多于形参个数 060 7.5.3 实参个数少于形参个数 060 7.5.4 arguments对象 060 7.5.5 length属性 061 7.5.6 arguments和length对比 061 7.6 函数的返回值 061 7.7 作用域 062 7.7.1 概述 062 7.7.2 全局作用域 062 7.7.3 局部作用域 062 7.7.4 全局变量 063 7.7.5 局部变量 063 7.7.6 作用域链 064 7.8 提升机制 065 7.8.1 函数表达式 065 7.8.2 问题引入及提升机制概述 066 7.8.3 变量提升 067 7.8.4 函数提升 067 7.9 高阶函数 068 7.9.1 概述 068 7.9.2 函数作为参数 068 7.9.3 函数作为返回值 068 7.10 立即执行函数 069 7.11 任务练习 069 小结 069 第8章 面向对象 071 8.1 概述 071 8.2 创建对象的方式 072 8.2.1 new Object方式 072 8.2.2 字面量方式 073 8.2.3 工厂函数方式 073 8.2.4 构造函数方式 074 8.3 原型prototype 076 8.3.1 构造函数创建对象问题引入 076 8.3.2 原型的使用 077 8.4 原型继承 078 8.4.1 概述 078 8.4.2 透彻理解原型继承 079 8.5 原型链 080 8.5.1 问题引入 080 8.5.2 原型对象中的__proto__ 081 8.5.3 Object原型对象的作用 081 8.5.4 Object原型对象中的__proto__ 082 8.6 this关键字理解 083 8.6.1 全局性普通函数中的this 083 8.6.2 构造函数中的this 083 8.6.3 对象方法中的this 083 8.6.4 原型对象方法中的this 084 8.7 继承 084 8.7.1 对象冒充 085 8.7.2 call/apply方式 086 8.7.3 扩展Object类 087 8.7.4 原型方式 089 8.8 常用的内置对象 090 8.8.1 Math对象 090 8.8.2 字符串对象 091 8.8.3 日期对象 092 8.8.4 数组对象 093 8.8.5 布尔对象 097 8.8.6 数字对象 097 8.9 正则表达式 098 8.9.1 说明 098 8.9.2 概述 098 8.9.3 使用正则表达式 099 8.9.4 边界符 099 8.9.5 范围 100 8.9.6 量词 100 8.9.7 括号的使用 101 8.9.8 元字符 102 8.9.9 修饰符 102 8.9.10 字符串在正则表达式中的使用 102 8.10 经典案例 103 8.10.1 统计每个字符的个数 103 8.10.2 随机点名 103 8.10.3 即将开始 104 8.10.4 获取文件扩展名 104 8.10.5 对象转换为请求参数格式字符串 105 8.10.6 扩展Array对象 105 8.10.7 扩展String对象 106 8.10.8 计算长方形面积 106 8.10.9 遍历对象 107 小结 107 第9章 DOM操作 108 9.1 概述 108 9.2 DOM节点 109 9.2.1 节点属性 109 9.2.2 文档节点 110 9.2.3 元素节点 110 9.2.4 属性节点 110 9.2.5 文本节点 110 9.3 获取元素及内容操作 110 9.3.1 根据id获取元素 111 9.3.2 根据标签名获取元素 111 9.3.3 根据name获取元素 111 9.3.4 根据类名获取元素 112 9.3.5 根据选择器获取元素 112 9.3.6 获取和设置元素内容操作 113 9.4 属性操作 114 9.4.1 事件属性 114 9.4.2 获取内置属性 114 9.4.3 设置内置属性 115 9.4.4 获取自定义属性 115 9.4.5 设置自定义属性 116 9.4.6 H5自定义属性的规范 116 9.4.7 移除属性 117 9.4.8 表单属性 118 9.5 样式操作 118 9.5.1 行内样式操作 118 9.5.2 类名样式操作 119 9.6 节点操作 120 9.6.1 获取父节点 121 9.6.2 获取子节点 121 9.6.3 获取兄弟节点 122 9.6.4 创建及添加节点 123 9.6.5 删除节点 123 9.6.6 复制节点 124 9.6.7 创建及设置属性节点 125 9.7 DOM事件 125 9.7.1 概述 125 9.7.2 注册事件 126 9.7.3 删除事件 127 9.7.4 事件流 128 9.7.5 事件对象 131 9.7.6 阻止事件冒泡 132 9.7.7 阻止事件默认行为 132 9.7.8 事件委派 134 9.7.9 窗口事件 135 9.7.10 鼠标事件 136 9.7.11 键盘事件 138 9.7.12 表单事件 139 9.8 经典案例 140 9.8.1 简易版新闻评论 140 9.8.2 简易版新闻评论升级版 140 9.8.3 全选案例 142 9.8.4 隔行变色效果 143 小结 144 第10章 BOM操作 145 10.1 概述 145 10.2 window对象 145 10.2.1 概述 145 10.2.2 警告框 146 10.2.3 确认框 146 10.2.4 提示框 147 10.2.5 打开窗口 147 10.2.6 关闭窗口 148 10.3 location对象 148 10.3.1 概述 148 10.3.2 重新加载页面 148 10.3.3 跳转其他页面 149 10.3.4 新页面替换当前页面 149 10.4 history对象 149 10.4.1 概述 149 10.4.2 常用方法 150 10.5 navigator对象 150 10.5.1 概述 150 10.5.2 检测浏览器类型 150 10.6 定时器 151 10.6.1 概述 151 10.6.2 启动延时定时器 151 10.6.3 取消延时定时器 151 10.6.4 启动间隔定时器 152 10.6.5 取消间隔定时器 152 10.7 经典案例 153 10.7.1 显示时钟 153 10.7.2 显示和隐藏切换 153 10.7.3 实现文本框内容校验 154 10.7.4 模拟发送验证码 155 小结 155 第11章 JavaScript高级篇 156 11.1 严格模式 156 11.1.1 概述 156 11.1.2 开启严格模式 156 11.1.3 整个脚本文件的严格模式 157 11.1.4 特定函数的严格模式 157 11.1.5 严格模式的使用影响 157 11.2 改变函数内this的指向 159 11.2.1 bind方式 160 11.2.2 call/apply/bind的总结 161 11.3 对象增强 161 11.3.1 Object.define Property() 162 11.3.2 Object.define Properties() 165 11.3.3 Object.keys() 166 11.3.4 Object.is() 167 11.3.5 Object.assign() 167 11.3.6 Object.create() 169 11.4 JavaScript的内存管理 170 11.4.1 概述 170 11.4.2 栈内存 170 11.4.3 堆内存 171 11.4.4 基本数据类型传参 172 11.4.5 引用数据类型传参 173 11.4.6 值传递和引用传递 174 11.4.7 垃圾回收 174 11.4.8 引用计数算法 175 11.4.9 标记清除算法 176 11.4.10 内存泄漏 176 11.5 闭包 179 11.5.1 案例思考 179 11.5.2 概述 181 11.5.3 闭包的实现原理 181 11.5.4 闭包的生命周期 183 11.5.5 闭包的应用 183 11.6 浅拷贝和深拷贝 184 11.6.1 引用赋值 185 11.6.2 浅拷贝 186 11.6.3 深拷贝 190 11.7 JSON 192 11.7.1 概述 192 11.7.2 对象结构 192 11.7.3 数组结构 193 11.7.4 区分JSON和JavaScript对象 193 11.7.5 JavaScript对象和JSON相互转换 194 11.7.6 JSON使用时的注意事项 194 11.8 常见算法 195 11.8.1 冒泡排序 195 11.8.2 选择排序 196 11.8.3 二分法查找 197 11.8.4 递归 198 11.9 防抖和节流 199 11.9.1 防抖 199 11.9.2 节流 201 11.9.3 防抖和节流的对比 204 11.10 WebStorage存储方案 204 11.10.1 概述 204 11.10.2 分类 204 11.10.3 localStorage 205 11.10.4 sessionStorage 205 11.10.5 自定义工具类封装 206 11.11 经典案例 207 11.11.1 Vue2响应式原理简单实现 207 11.11.2 递归实现深拷贝 209 小结 210 第12章 ES6新特性 211 12.1 概述 211 12.1.1 为什么要学习ES6 211 12.1.2 ECMAScript的历史 211 12.1.3 ECMAScript和JavaScript的关系 212 12.1.4 结束语 212 12.2 变量和常量 212 12.2.1 var定义变量的问题 212 12.2.2 let 213 12.2.3 const 214 12.3 字符串扩展 215 12.3.1 新增方法 215 12.3.2 模板字符串 216 12.3.3 其他方法扩展说明 217 12.4 变量的解构赋值 217 12.4.1 对象解构 217 12.4.2 数组解构 218 12.4.3 函数参数列表中的解构赋值 218 12.4.4 复杂对象的解构 219 12.5 函数扩展 219 12.5.1 剩余参数 219 12.5.2 函数参数默认值 219 12.6 箭头函数 220 12.6.1 箭头函数的写法 220 12.6.2 箭头函数的参数说明 221 12.6.3 箭头函数的函数体说明 221 12.6.4 箭头函数中的this 222 12.6.5 箭头函数的注意事项 223 12.7 简化对象写法 223 12.7.1 对象的变量属性简写 223 12.7.2 对象的函数属性简写 224 12.8 数组对象的方法扩展 224 12.8.1 find方法 224 12.8.2 findIndex方法 225 12.8.3 of方法 225 12.8.4 from方法 225 12.9 展开运算符 226 12.9.1 数组展开 226 12.9.2 对象展开 227 12.10 class类 228 12.10.1 定义类 228 12.10.2 类的构造方法 229 12.10.3 实例对象的方法 230 12.10.4 静态属性和静态方法 230 12.10.5 继承 231 12.11 Set 233 12.11.1 概述 233 12.11.2 创建Set集合 233 12.11.3 常用方法和属性 233 12.11.4 遍历方式 234 12.12 Map 235 12.12.1 概述 235 12.12.2 创建Map集合 235 12.12.3 常用方法和属性 236 12.12.4 遍历方式 237 12.12.5 使用Map计算字符个数 238 小结 238 第13章 Promise异步编程 240 13.1 概述 240 13.2 JavaScript异步编程的实现 240 13.2.1 为什么JavaScript是单线程 240 13.2.2 JavaScript如何实现异步编程 241 13.3 回调函数 242 13.3.1 说明 242 13.3.2 事件处理程序 242 13.3.3 延迟计时器 243 13.3.4 回调函数再理解 243 13.3.5 回调地狱 244 13.4 Promise 244 13.4.1 概述 245 13.4.2 Promise对象的语法 245 13.4.3 Promise对象的属性和方法 246 13.4.4 Promise的认识误区 246 13.4.5 Promise的三种状态 247 13.4.6 Promise的结果 248 13.4.7 then方法详解 249 13.4.8 catch方法详解 255 13.4.9 其他方法 257 13.5 async关键字 257 13.5.1 概述 257 13.5.2 异步函数 257 13.6 await关键字 258 13.6.1 概述 258 13.6.2 案例 258 小结 259 第14章 模块化 260 14.1 传统开发的弊端 260 14.1.1 命名冲突 260 14.1.2 文件依赖 260 14.2 生活中的模块化 261 14.3 ES6模块化概述 261 14.4 模块化开发 262 14.4.1 导出变量和常量 262 14.4.2 导出函数 262 14.4.3 导出类 263 14.4.4 导出时别名的使用 263 14.4.5 导入时别名的使用 264 14.4.6 一次性导入 265 14.4.7 default默认导出 265 14.4.8 命名导出和默认导出混合使用 266 14.5 动态引入模块 267 14.5.1 需求 267 14.5.2 import()表达式 267 14.5.3 动态引入模块的使用场景 268 小结 268
内容摘要
本书分14章对JavaScript编程语言展开介绍,从JavaScript发展历史到基本语法、面向对象编程、程序调试、DOM操作、BOM操作,最后到JavaScript高级应用,还有ES6新特性、Promise异步编程和模块化开发等技术内容,全方位系统地介绍了作为一名前端开发人员所必须要掌握的JavaScript内容。如果您有过JavaScript的开发经验,相信您读完这本书也会纠正个人技术认知上的部分误区,如果您是一位初学者,本书也同样适合您,不过需要您把学习本书看作是一个长期任务,可以根据书中的编写案例认认真真地加以练习总结,相信在不久后同样可以深入掌握JavaScript。
主编推荐
JavaScript是web编程语言,其受欢迎程度连续多年稳居前列,成为程序员受欢迎的开发语言之一。JavaScript已经跨越前端、服务端、移动端,甚至可以开发物联网应用,正以惊人的速度成为各种应用程序的通用语言,包括 Web、桌面、云和移动设备上的应用程序。 本书的目标是全面地讲解JavaScript语言,帮助读者深入了解JavaScript函数、作用域、闭包、生成器函数、对象、数组、模块化等方方面面的各种特性,熟悉DOM、事件和计时器等测试与跨浏览器开发,以及流行的JavaScript框架所使用的技术,无论是小白还是具有一定基础的开发人员,都可以通过学习本书获得精进。 内容特色: 1循序渐进:JavaScript自底向上逐层详细介绍每一个概念和细节; 2内容全面:完整介绍了JavaScript在前端、服务端等的全面技术应用; 3案例丰富:提供了大量学习实例,并同步有视频教学,边学边用; 4配套学习资源:赠送配套实例代码,更容易理解编程思想。
精彩内容
本书分14章对JavaScript编程语言展开介绍,从JavaScript发展历史到基本语法、面向对象编程、程序调试、DOM操作、BOM操作,最后到JavaScript高级应用,还有ES6新特性、Promise异步编程和模块化开发等技术内容,全方位系统地介绍了作为一名前端开发人员所必须要掌握的JavaScript内容。 如果您有过JavaScript的开发经验,相信您读完这本书也会纠正个人技术认知上的部分误区,如果您是一位初学者,本书也同样适合您,不过需要您把学习本书看作是一个长期任务,可以根据书中的编写案例认认真真地加以练习总结,相信在不久后同样可以深入掌握JavaScript。
— 没有更多了 —
以下为对购买帮助不大的评价