万本电子书0元读

万本电子书0元读

顶部广告

JavaScript快速入门与开发实战电子书

JavaScript是web编程语言,其受欢迎程度连续多年稳居前列,成为程序员受欢迎的发语言之一。JavaScript已经跨越前端、服务端、移动端,甚至可以发物联网应用,正以惊人的速度成为各种应用程序的通用语言,包括 Web、桌面、云和移动设备上的应用程序。 本书的目标是全面地讲解JavaScript语言,帮助读者深了解JavaScript函数、作用域、闭包、生成器函数、对象、数组、模块化等方方面面的各种特性,熟悉DOM、事件和计时器等测试与跨浏览器发,以及流行的JavaScript框架所使用的技术,无论是小白还是具有一定基础的发人员,都可以通过学习本书获得精。 内容特色: 1循序渐:JavaScript自底向上逐层详细介绍每一个概念和细节; 2内容全面:完整介绍了JavaScript在前端、服务端等的全面技术应用; 3案例丰富:提供了大量学习实例,并同步有视频教学,边学边用; 4配套学习资源:赠送配套实例代码,更容易理解编程思想。

售       价:¥

纸质售价:¥84.60购买纸书

0人正在读 | 0人评论 6.3

作       者:郭超

出  版  社:化学工业出版社

出版时间:2025-10-01

字       数:11.5万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(条)
  • 读书简介
  • 目录
  • 累计评论(条)
本书分14章对JavaScript编程语言展介绍,从JavaScript发展历史到基本语法、面向对象编程、程序调试、DOM操作、BOM操作,最后到JavaScript高级应用,还有ES6新特性、Promise异步编程和模块化发等技术内容,全方位系统地介绍了作为一名前端发人员所必须要掌握的JavaScript内容。如果您有过JavaScript的发经验,相信您读完这本书也会纠正个人技术认知上的部分误区,如果您是一位初学者,本书也同样适合您,不过需要您把学习本书看作是一个长期任务,可以根据书中的编写案例认认真真地加以练结,相信在不久后同样可以深掌握JavaScript。<br/>【推荐语】<br/>JavaScript是web编程语言,其受欢迎程度连续多年稳居前列,成为程序员受欢迎的发语言之一。JavaScript已经跨越前端、服务端、移动端,甚至可以发物联网应用,正以惊人的速度成为各种应用程序的通用语言,包括 Web、桌面、云和移动设备上的应用程序。 本书的目标是全面地讲解JavaScript语言,帮助读者深了解JavaScript函数、作用域、闭包、生成器函数、对象、数组、模块化等方方面面的各种特性,熟悉DOM、事件和计时器等测试与跨浏览器发,以及流行的JavaScript框架所使用的技术,无论是小白还是具有一定基础的发人员,都可以通过学习本书获得精。 内容特色: 1循序渐:JavaScript自底向上逐层详细介绍每一个概念和细节; 2内容全面:完整介绍了JavaScript在前端、服务端等的全面技术应用; 3案例丰富:提供了大量学习实例,并同步有视频教学,边学边用; 4配套学习资源:赠送配套实例代码,更容易理解编程思想。<br/>【作者】<br/>无<br/>
目录展开

内容简介

前言

第1章 JavaScript入门

1.1 初识JavaScript

1.1.1 JavaScript的发展历史

1.1.2 JavaScript的特点

1.1.3 JavaScript的应用场景

1.1.4 JavaScript的开发工具

1.2 JavaScript的组成

小结

第2章 在网页中使用JavaScript

2.1 行内方式

2.1.1 通过“JavaScript:”调用函数

2.1.2 在事件属性中调用函数

2.2 内嵌方式

2.3 链接外部JavaScript文件方式

小结

第3章 JavaScript基本语法

3.1 变量

3.1.1 概述

3.1.2 变量的使用

3.1.3 变量的重新赋值

3.1.4 变量使用注意事项

3.1.5 变量命名规范

3.1.6 案例:两个变量的交换

3.2 数据类型

3.2.1 概述

3.2.2 数据类型的分类

3.2.3 数字类型

3.2.4 字符串类型

3.2.5 布尔类型

3.2.6 Null类型

3.2.7 Undefined类型

3.2.8 typeof关键字

3.3 数据类型转换

3.3.1 概述

3.3.2 显式类型转换

3.3.3 隐式类型转换

3.4 运算符

3.4.1 概述

3.4.2 算术运算符

3.4.3 关系运算符

3.4.4 逻辑运算符

3.4.5 赋值运算符

3.4.6 三目运算符

3.4.7 运算符的优先级

3.5 注释

3.5.1 概述

3.5.2 单行注释

3.5.3 多行注释

3.6 输入输出语句

3.6.1 说明

3.6.2 输入

3.6.3 输出

3.7 任务练习

小结

第4章 程序结构

4.1 顺序结构

4.2 选择结构

4.2.1 if结构

4.2.2 if...else...结构

4.2.3 if...else if...else结构

4.2.4 switch结构

4.2.5 条件嵌套

4.2.6 多分支选择结构和switch对比

4.3 循环结构

4.3.1 for循环

4.3.2 while循环

4.3.3 do...while循环

4.3.4 for和while的对比

4.3.5 while和do...while的对比

4.3.6 循环嵌套

4.4 跳转语句

4.4.1 break语句

4.4.2 continue语句

4.5 任务练习

小结

第5章 数组

5.1 概述

5.2 定义数组

5.2.1 构造数组

5.2.2 数组字面量

5.3 访问数组

5.3.1 数组下标

5.3.2 数组长度

5.4 数组遍历

5.4.1 for循环索引方式

5.4.2 for...in方式

5.4.3 for...of方式

5.5 数组的常见操作

5.5.1 求数组最大值

5.5.2 两个数组合并

5.5.3 数组筛选

5.5.4 数组翻转

5.5.5 对数组元素去重

小结

第6章 程序调试及常见错误

6.1 为什么要进行程序调试

6.2 常见的程序调试方式

6.2.1 使用alert方法调试

6.2.2 使用log方法调试

6.3 Sources断点调试

6.3.1 断点调试概述

6.3.2 常用的调试按钮

6.3.3 Watch监视器的使用

6.4 程序常见错误

6.4.1 错误类型

6.4.2 错误解决

6.5 任务练习

小结

第7章 函数

7.1 概述

7.2 函数使用入门

7.2.1 定义函数

7.2.2 调用函数

7.3 深入理解函数作用

7.3.1 封装重复性代码

7.3.2 实现某种功能

7.4 函数参数

7.4.1 参数的作用

7.4.2 形参

7.4.3 实参

7.5 带参数的函数调用的说明

7.5.1 形参和实参个数一样

7.5.2 实参个数多于形参个数

7.5.3 实参个数少于形参个数

7.5.4 arguments对象

7.5.5 length属性

7.5.6 arguments和length对比

7.6 函数的返回值

7.7 作用域

7.7.1 概述

7.7.2 全局作用域

7.7.3 局部作用域

7.7.4 全局变量

7.7.5 局部变量

7.7.6 作用域链

7.8 提升机制

7.8.1 函数表达式

7.8.2 问题引入及提升机制概述

7.8.3 变量提升

7.8.4 函数提升

7.9 高阶函数

7.9.1 概述

7.9.2 函数作为参数

7.9.3 函数作为返回值

7.10 立即执行函数

7.11 任务练习

小结

第8章 面向对象

8.1 概述

8.2 创建对象的方式

8.2.1 new Object方式

8.2.2 字面量方式

8.2.3 工厂函数方式

8.2.4 构造函数方式

8.3 原型prototype

8.3.1 构造函数创建对象问题引入

8.3.2 原型的使用

8.4 原型继承

8.4.1 概述

8.4.2 透彻理解原型继承

8.5 原型链

8.5.1 问题引入

8.5.2 原型对象中的__proto__

8.5.3 Object原型对象的作用

8.5.4 Object原型对象中的__proto__

8.6 this关键字理解

8.6.1 全局性普通函数中的this

8.6.2 构造函数中的this

8.6.3 对象方法中的this

8.6.4 原型对象方法中的this

8.7 继承

8.7.1 对象冒充

8.7.2 call/apply方式

8.7.3 扩展Object类

8.7.4 原型方式

8.8 常用的内置对象

8.8.1 Math对象

8.8.2 字符串对象

8.8.3 日期对象

8.8.4 数组对象

8.8.5 布尔对象

8.8.6 数字对象

8.9 正则表达式

8.9.1 说明

8.9.2 概述

8.9.3 使用正则表达式

8.9.4 边界符

8.9.5 范围

8.9.6 量词

8.9.7 括号的使用

8.9.8 元字符

8.9.9 修饰符

8.9.10 字符串在正则表达式中的使用

8.10 经典案例

8.10.1 统计每个字符的个数

8.10.2 随机点名

8.10.3 倒计时

8.10.4 获取文件扩展名

8.10.5 对象转换为请求参数格式字符串

8.10.6 扩展Array对象

8.10.7 扩展String对象

8.10.8 计算长方形面积

8.10.9 遍历对象

小结

第9章 DOM操作

9.1 概述

9.2 DOM节点

9.2.1 节点属性

9.2.2 文档节点

9.2.3 元素节点

9.2.4 属性节点

9.2.5 文本节点

9.3 获取元素及内容操作

9.3.1 根据id获取元素

9.3.2 根据标签名获取元素

9.3.3 根据name获取元素

9.3.4 根据类名获取元素

9.3.5 根据选择器获取元素

9.3.6 获取和设置元素内容操作

9.4 属性操作

9.4.1 事件属性

9.4.2 获取内置属性

9.4.3 设置内置属性

9.4.4 获取自定义属性

9.4.5 设置自定义属性

9.4.6 H5自定义属性的规范

9.4.7 移除属性

9.4.8 表单属性

9.5 样式操作

9.5.1 行内样式操作

9.5.2 类名样式操作

9.6 节点操作

9.6.1 获取父节点

9.6.2 获取子节点

9.6.3 获取兄弟节点

9.6.4 创建及添加节点

9.6.5 删除节点

9.6.6 复制节点

9.6.7 创建及设置属性节点

9.7 DOM事件

9.7.1 概述

9.7.2 注册事件

9.7.3 删除事件

9.7.4 事件流

9.7.5 事件对象

9.7.6 阻止事件冒泡

9.7.7 阻止事件默认行为

9.7.8 事件委派

9.7.9 窗口事件

9.7.10 鼠标事件

9.7.11 键盘事件

9.7.12 表单事件

9.8 经典案例

9.8.1 简易版新闻评论

9.8.2 简易版新闻评论升级版

9.8.3 全选案例

9.8.4 隔行变色效果

小结

第10章 BOM操作

10.1 概述

10.2 window对象

10.2.1 概述

10.2.2 警告框

10.2.3 确认框

10.2.4 提示框

10.2.5 打开窗口

10.2.6 关闭窗口

10.3 location对象

10.3.1 概述

10.3.2 重新加载页面

10.3.3 跳转其他页面

10.3.4 新页面替换当前页面

10.4 history对象

10.4.1 概述

10.4.2 常用方法

10.5 navigator对象

10.5.1 概述

10.5.2 检测浏览器类型

10.6 定时器

10.6.1 概述

10.6.2 启动延时定时器

10.6.3 取消延时定时器

10.6.4 启动间隔定时器

10.6.5 取消间隔定时器

10.7 经典案例

10.7.1 显示时钟

10.7.2 显示和隐藏切换

10.7.3 实现文本框内容校验

10.7.4 模拟发送验证码

小结

第11章 JavaScript高级篇

11.1 严格模式

11.1.1 概述

11.1.2 开启严格模式

11.1.3 整个脚本文件的严格模式

11.1.4 特定函数的严格模式

11.1.5 严格模式的使用影响

11.2 改变函数内this的指向

11.2.1 bind方式

11.2.2 call/apply/bind的总结

11.3 对象增强

11.3.1 Object.defineProperty()

11.3.2 Object.defineProperties()

11.3.3 Object.keys()

11.3.4 Object.is()

11.3.5 Object.assign()

11.3.6 Object.create()

11.4 JavaScript的内存管理

11.4.1 概述

11.4.2 栈内存

11.4.3 堆内存

11.4.4 基本数据类型传参

11.4.5 引用数据类型传参

11.4.6 值传递和引用传递

11.4.7 垃圾回收

11.4.8 引用计数算法

11.4.9 标记清除算法

11.4.10 内存泄漏

11.5 闭包

11.5.1 案例思考

11.5.2 概述

11.5.3 闭包的实现原理

11.5.4 闭包的生命周期

11.5.5 闭包的应用

11.6 浅拷贝和深拷贝

11.6.1 引用赋值

11.6.2 浅拷贝

11.6.3 深拷贝

11.7 JSON

11.7.1 概述

11.7.2 对象结构

11.7.3 数组结构

11.7.4 区分JSON和JavaScript对象

11.7.5 JavaScript对象和JSON相互转换

11.7.6 JSON使用时的注意事项

11.8 常见算法

11.8.1 冒泡排序

11.8.2 选择排序

11.8.3 二分法查找

11.8.4 递归

11.9 防抖和节流

11.9.1 防抖

11.9.2 节流

11.9.3 防抖和节流的对比

11.10 WebStorage存储方案

11.10.1 概述

11.10.2 分类

11.10.3 localStorage

11.10.4 sessionStorage

11.10.5 自定义工具类封装

11.11 经典案例

11.11.1 Vue2响应式原理简单实现

11.11.2 递归实现深拷贝

小结

第12章 ES6新特性

12.1 概述

12.1.1 为什么要学习ES6

12.1.2 ECMAScript的历史

12.1.3 ECMAScript和JavaScript的关系

12.1.4 结束语

12.2 变量和常量

12.2.1 var定义变量的问题

12.2.2 let

12.2.3 const

12.3 字符串扩展

12.3.1 新增方法

12.3.2 模板字符串

12.3.3 其他方法扩展说明

12.4 变量的解构赋值

12.4.1 对象解构

12.4.2 数组解构

12.4.3 函数参数列表中的解构赋值

12.4.4 复杂对象的解构

12.5 函数扩展

12.5.1 剩余参数

12.5.2 函数参数默认值

12.6 箭头函数

12.6.1 箭头函数的写法

12.6.2 箭头函数的参数说明

12.6.3 箭头函数的函数体说明

12.6.4 箭头函数中的this

12.6.5 箭头函数的注意事项

12.7 简化对象写法

12.7.1 对象的变量属性简写

12.7.2 对象的函数属性简写

12.8 数组对象的方法扩展

12.8.1 find方法

12.8.2 findIndex方法

12.8.3 of方法

12.8.4 from方法

12.9 展开运算符

12.9.1 数组展开

12.9.2 对象展开

12.10 class类

12.10.1 定义类

12.10.2 类的构造方法

12.10.3 实例对象的方法

12.10.4 静态属性和静态方法

12.10.5 继承

12.11 Set

12.11.1 概述

12.11.2 创建Set集合

12.11.3 常用方法和属性

12.11.4 遍历方式

12.12 Map

12.12.1 概述

12.12.2 创建Map集合

12.12.3 常用方法和属性

12.12.4 遍历方式

12.12.5 使用Map计算字符个数

小结

第13章 Promise异步编程

13.1 概述

13.2 JavaScript异步编程的实现

13.2.1 为什么JavaScript是单线程

13.2.2 JavaScript如何实现异步编程

13.3 回调函数

13.3.1 说明

13.3.2 事件处理程序

13.3.3 延迟计时器

13.3.4 回调函数再理解

13.3.5 回调地狱

13.4 Promise

13.4.1 概述

13.4.2 Promise对象的语法

13.4.3 Promise对象的属性和方法

13.4.4 Promise的认识误区

13.4.5 Promise的三种状态

13.4.6 Promise的结果

13.4.7 then方法详解

13.4.8 catch方法详解

13.4.9 其他方法

13.5 async关键字

13.5.1 概述

13.5.2 异步函数

13.6 await关键字

13.6.1 概述

13.6.2 案例

小结

第14章 模块化

14.1 传统开发的弊端

14.1.1 命名冲突

14.1.2 文件依赖

14.2 生活中的模块化

14.3 ES6模块化概述

14.4 模块化开发

14.4.1 导出变量和常量

14.4.2 导出函数

14.4.3 导出类

14.4.4 导出时别名的使用

14.4.5 导入时别名的使用

14.4.6 一次性导入

14.4.7 default默认导出

14.4.8 命名导出和默认导出混合使用

14.5 动态引入模块

14.5.1 需求

14.5.2 import()表达式

14.5.3 动态引入模块的使用场景

小结

累计评论(条) 个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部