本书是面向Web前端开发学习者的一本入门教材,以通俗易懂的语言、丰富实用的案例,详细讲解JavaScript的开发技术。
全书共14章。第1章讲解了JavaScript的基本概念;第2、3章讲解JavaScript基础语法的使用;第4章讲解JavaScript函数的基本使用;第5章讲解JavaScrip对象的相关内容;第6~8章讲解DOM、BOM的相关内容;第9章讲解如何用JavaScript开发网页特效;第10、11章讲解jQuery的使用,并通过jQuery开发网页中常见的交互效果;第12、13章讲解JavaScript面向对象编程;第14章讲解正则表达式的使用。
本书既可作为高等院校计算机相关专业的Web前端开发课程的教材,也可作为广大IT技术人员和编程爱好者的优秀读物。
本书面向具有网页设计(HTML5、CSS3)基础的人群,可以配合本书的同系列教材《HTML5+CSS3网页设计与制作》进行学习。
本书讲解了如何将JavaScript和jQuery与HTML、CSS技术相结合,开发交互性强的网页,采用“知识讲解+案例实践”的方式来安排全书的内容,及时有效地引导初学者将学过的内容串联起来,培养分析问题和解决问题的综合运用能力。本书将抽象的概念具体化,学到的知识实践化,让读者不仅理解和掌握基本知识,还能根据实际需求进行扩展与提高。
第1章 初识JavaScript 1.1 什么是JavaScript 1.1.1 JavaScript概述 1.1.2 JavaScript的诞生与发展 1.1.3 JavaScript的特点 1.1.4 JavaScript的组成 1.2 常用开发工具 1.3 JavaScript入门 1.3.1 代码书写位置 1.3.2 注释 1.3.3 输入和输出语句 1.3.4 控制台的使用 1.4 JavaScript变量 1.4.1 什么是变量 1.4.2 变量的使用 1.4.3 变量的应用案例 1.4.4 变量的语法细节 1.4.5 变量的命名规范 1.4.6 【案例】交换两个变量的值 本章小结 课后练习 第2章 JavaScript基础(上) 2.1 数据类型 2.1.1 变量的数据类型 2.1.2 数据类型分类 2.1.3 数字型 2.1.4 字符串型 2.1.5 布尔型 2.1.6 undefined和null 2.1.7 数据类型检测 2.2 数据类型转换 2.2.1 转换为字符串型 2.2.2 转换为数字型 2.2.3 转换为布尔型 2.3 运算符 2.3.1 算术运算符 2.3.2 递增和递减运算符 2.3.3 比较运算符 2.3.4 逻辑运算符 2.3.5 赋值运算符 2.3.6 三元运算符 2.3.7 运算符优先级 2.4 流程控制 2.5 分支结构 2.5.1 if语句 2.5.2 if…else语句 2.5.3 if…else if语句 2.5.4 switch语句 2.5.5 【案例】查询水果的价格 本章小结 课后练习 第3章 JavaScript基础(下) 3.1 循环结构 3.1.1 for语句 3.1.2 for循环案例 3.1.3 循环嵌套案例 3.1.4 while语句 3.1.5 do…while语句 3.1.6 continue关键字 3.1.7 break关键字 3.2 初识数组 3.2.1 创建数组 3.2.2 访问数组元素 3.2.3 数组遍历 3.3 数组案例 3.3.1 获取数组元素中的最大值 3.3.2 数组转换为字符串 3.4 数组元素操作 3.4.1 修改数组长度 3.4.2 新增或修改数组元素 3.4.3 筛选数组 3.4.4 删除指定的数组元素 3.4.5 反转数组元素顺序 3.5 数组排序算法 3.5.1 冒泡排序 3.5.2 插入排序 3.6 二维数组 3.6.1 创建二维数组 3.6.2 二维数组求和 3.6.3 二维数组转置 本章小结 课后练习 第4章 JavaScript函数 4.1 初识函数 4.1.1 函数的使用 4.1.2 什么是函数 4.1.3 函数的参数 4.1.4 函数参数的数量 4.1.5 函数的返回值 4.2 函数返回值案例 4.2.1 利用函数求任意两个数的最大值 4.2.2 利用函数求任意一个数组中的最大值 4.2.3 利用return提前终止函数 4.2.4 利用return返回数组 4.3 函数综合案例 4.3.5 利用函数求所有参数中的最大值 4.3.6 利用函数反转数组元素顺序 4.3.7 利用函数判断闰年 4.3.8 获取指定年份的2月份的天数 4.4 函数进阶 4.4.1 函数表达式 4.4.2 回调函数 4.4.3 递归函数 4.5 作用域 4.5.1 作用域的分类 4.5.2 全局变量和局部变量 4.5.3 作用域链 4.6 闭包函数 4.6.1 什么是闭包函数 4.6.2 闭包函数的实现 4.7 预解析 本章小结 课后练习 第5章 JavaScript对象 5.1 初识对象 5.1.1 什么是对象 5.1.2 利用字面量创建对象 5.1.3 访问对象的属性和方法 5.1.4 利用new Object创建对象 5.1.5 利用构造函数创建对象 5.1.6 遍历对象的属性和方法 5.2 内置对象 5.2.1 通过查阅文档熟悉内置对象 5.2.2 【案例】封装自己的数学对象 5.3 Math对象 5.3.1 Math对象的使用 5.3.2 生成指定范围的随机数 5.3.3 【案例】猜数字游戏 5.4 日期对象 5.4.1 日期对象的使用 5.4.1 【案例】统计代码执行时间 5.4.2 【案例】倒计时 5.5 数组对象 5.5.1 数组类型检测 5.5.2 添加或删除数组元素 5.5.3 【案例】筛选数组 5.5.4 数组排序 5.5.5 数组索引 5.5.6 【案例】数组去除重复元素 5.5.7 数组转换为字符串 5.5.8 其他方法 5.6 字符串对象 5.6.1 字符串对象的使用 5.6.2 根据字符返回位置 5.6.3 根据位置返回字符 5.6.4 【案例】统计出现最多的字符和次数 5.6.5 字符串操作方法 5.6.6 【案例】判断用户名是否合法 5.7 值类型和引用类型 本章小结 课后练习 第6章 DOM(上) 6.1 Web API简介 6.1.1 初识Web API 6.1.2 Web API与API的关系 6.2 DOM简介 6.2.1 什么是DOM 6.2.2 DOM树 6.3 获取元素 6.3.1 根据id获取元素 6.3.2 根据标签获取元素 6.3.3 根据name获取元素 6.3.4 HTML5新增的获取方式 6.3.5 document对象的属性 6.4 事件基础 6.4.1 事件概述 6.4.2 事件三要素 6.5 操作元素 6.5.1 操作元素内容 6.5.2 操作元素属性 6.5.3 【案例】显示隐藏密码明文 6.5.4 操作元素样式 6.5.5 【案例】显示隐藏文本框内容 本章小结 课后练习 第7章 DOM(下) 7.1 排他操作 7.1.1 排他思想简介 7.1.2 【案例】鼠标经过时背景变色 7.2 属性操作 7.2.1 获取属性值 7.2.2 设置属性值 7.2.3 移除属性 7.2.4 【案例】Tab栏切换 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 复制节点 7.6 事件进阶 7.6.1 注册事件 7.6.2 删除事件 7.6.3 DOM事件流 7.7 事件对象 7.7.1 什么是事件对象 7.7.2 事件对象的使用 7.7.3 事件对象的常见属性和方法 7.8 鼠标事件 7.8.1 鼠标事件的常用方法 7.8.2 鼠标事件对象 7.8.3 【案例】图片跟随鼠标移动 7.9 键盘事件 7.9.1 键盘事件的常用方法 7.9.2 键盘事件对象 7.9.3 【案例】文本框提示信息 本章小结 课后练习 第8章 BOM 8.1 BOM简介 8.1.1 什么是BOM 8.1.2 BOM与DOM的区别 8.1.3 BOM的构成 8.2 window对象的常见事件 8.2.1 窗口加载事件 8.2.2 调整窗口大小事件 8.3 定时器 8.3.1 定时器方法 8.3.2 【案例】3秒后自动关闭广告 8.3.3 【案例】60秒内只能发送一次短信 8.4 JavaScript执行机制 8.4.1 单线程 8.4.2 同步和异步 8.4.3 执行机制 8.5 location对象 8.5.1 URL的组成 8.5.2 location常用属性 8.5.3 【案例】获取URL参数 8.5.4 location常用方法 8.6 navigator对象 8.7 history对象 本章小结 课后练习 第9章 JavaScript网页特效 9.1 元素偏移量offset系列 9.1.1 offset概述 9.1.2 offset与style区别 9.1.3 【案例】模态框拖拽效果 9.1.4 【案例】放大镜效果 9.2 元素可视区client系列 9.3 元素滚动scroll系列 9.3.1 scroll概述 9.3.2 【案例】固定侧边栏效果 本章小结 课后练习 第10章 jQuery(上) 10.1 初识jQuery 10.1.1 什么是jQuery 10.1.2 获取jQuery 10.1.3 使用jQuery 10.1.4 jQuery对象 10.2 jQuery选择器 10.2.1 基本选择器 10.2.2 层级选择器 10.2.3 筛选选择器 10.2.4 【案例】下拉菜单 10.2.5 排他思想 10.2.6 【案例】精品展示 10.2.7 其他选择器 10.3 jQuery样式操作 10.3.1 修改样式 10.3.2 类操作 10.3.3 【案例】Tab栏切换 10.4 jQuery动画 10.4.1 显示与隐藏效果 10.4.2 滑动效果 10.4.3 事件切换 10.4.4 停止动画 10.4.5 淡入淡出 10.4.6 自定义动画 10.4.7 【案例】手风琴 本章小结 课后练习 第11章 jQuery(下) 11.1 jQuery属性操作 11.1.1 prop()方法 11.1.2 attr()方法 11.1.3 data()方法 11.1.4 【案例】购物车商品全选 11.2 jQuery内容操作 11.2.1 内容操作方法 11.2.2 【案例】购物车增减商品数量 11.2.3 【案例】购物车商品小计 11.3 jQuery元素操作 11.3.1 遍历元素 11.3.2 【案例】购物车商品总件数和总额 11.3.3 创建元素 11.3.4 添加元素 11.3.5 删除元素 11.3.6 【案例】购物车删除商品 11.3.7 【案例】购物车选中的商品添加背景色 11.4 jQuery尺寸和位置操作 11.4.1 尺寸方法 11.4.2 位置方法 11.4.3 【案例】带有动画效果的返回顶部 11.4.4 【案例】电梯导航 11.5 jQuery事件 11.5.1 事件绑定 11.5.2 事件委派 11.5.3 【案例】留言板 11.5.4 事件解绑 11.5.5 触发事件 11.5.6 事件对象 11.6 jQuery其他方法 11.6.1 $.extend()方法 11.6.2 $.ajax()方法 本章小结 课后练习 第12章 JavaScript面向对象(上) 12.1 面向对象概述 12.1.1 面向过程与面向对象 12.1.2 面向对象的优势 12.1.3 面向对象的特征 12.2 ES6面向对象语法 12.2.1 什么是类 12.2.2 类的基本语法 12.2.3 类中的方法 12.2.4 继承 12.2.5 super关键字 12.3 面向对象开发标签页组件 12.3.1 功能分析 12.3.2 页面结构 12.3.3 切换标签页 12.3.4 添加标签页 12.3.5 删除标签页 12.3.6 修改标签页 本章小结 课后练习 第13章 JavaScript面向对象(下) 13.1 构造函数与原型对象 13.1.1 构造函数 13.1.2 静态成员与实例成员 13.1.3 构造函数与类的区别 13.1.4 原型对象 13.2 原型链 13.2.1 访问对象的原型对象 13.2.2 访问对象的构造函数 13.2.3 原型对象的原型对象 13.2.4 绘制原型链 13.2.5 成员查找机制 13.2.6 【案例】利用原型对象扩展数组方法 13.3 this的指向 13.3.1 分析this指向 13.3.2 更改this指向 13.4 错误处理 13.4.1 如何进行错误处理 13.4.2 错误对象的传递 13.4.3 抛出错误对象 13.4.4 错误类型 13.5 继承 13.5.1 借用构造函数继承父类属性 13.5.2 利用原型对象继承父类方法 本章小结 课后练习 第14章 正则表达式 14.1 认识正则表达式 14.1.1 什么是正则表达式 14.1.2 正则表达式的特点 14.1.3 正则表达式的使用 14.1.4 模式修饰符 14.2 正则表达式中的特殊字符 14.2.1 边界符 14.2.2 预定义类 14.2.3 字符类 14.2.4 取反符 14.2.5 【案例】用户名验证 14.3 量词符与括号字符 14.3.1 量词符 14.3.2 括号字符 14.3.3 正则运算符优先级 14.3.4 【案例】身份证号码验证 14.4 String类中的方法 14.4.1 match()方法 14.4.2 search()方法 14.4.3 split()方法 14.4.4 replace()方法 14.4.5 【案例】查找并替换敏感词 本章小结 课后练习