JavaScript 是一门脚本语言,广泛应用于 Web 前端开发。通过编写 JavaScript 代码可以为网页添加各式各样的动态交互效果,为用户提供舒适、美观的体验。
本书共 12 章,主要内容包括初识 JavaScript、JavaScript 基础语法、数组、函数、对象、DOM、BOM、正则表达式、Web 服务器与 Ajax、jQuery 以及面向对象编程。本书不仅讲解知识,还将知识与精彩的案例相结合,使读者对知识的领悟更加透彻。
本书既可作为高等教育本、专科院校计算机相关专业的教材,也可作为 Web 前端爱好者的参考读物。
内容覆盖全面,包括 JavaScript 基础语法、DOM、BOM、正则表达式、Ajax、jQuery 等。
案例丰富、简单易学,适合初学者零基础入门。
配套教学大纲、教学设计、教学 PPT、源代码等丰富的资源。
第 1 章 初识 JavaScript 1 1.1 JavaScript 基本概念 1 1.1.1 JavaScript 概述 1 1.1.2 JavaScript 的由来 3 1.1.3 JavaScript 的组成 3 1.1.4 JavaScript 的特点 3 1.2 开发工具 4 1.2.1 浏览器 4 1.2.2 代码编辑器 4 1.3 JavaScript 基本使用 8 1.3.1 JavaScript 初体验 8 1.3.2 JavaScript 代码引入方式 9 1.3.3 常用输入输出语句 11 1.3.4 JavaScript 注释 12 本章小结 12 课后练习 13 第 2 章 JavaScript 基础语法 14 2.1 变量 14 2.1.1 什么是变量 14 2.1.2 变量的命名规则 15 2.1.3 变量的声明与赋值 16 2.1.4 【案例】交换两个变量的值 17 2.2 数据类型 18 2.2.1 数据类型分类 18 2.2.2 常用的基本数据类型 18 2.2.3 数据类型检测 21 2.2.4 数据类型转换 22 2.3 表达式 23 2.4 运算符 24 2.4.1 算术运算符 24 2.4.2 字符串运算符 26 2.4.3 【案例】根据用户输入的数据完成求和运算 26 2.4.4 赋值运算符 27 2.4.5 比较运算符 28 2.4.6 逻辑运算符 29 2.4.7 三元运算符 30 2.4.8 位运算符 30 2.4.9 运算符优先级 32 2.4.10 【案例】计算圆的周长和面积 33 2.5 流程控制 34 2.5.1 选择结构 34 2.5.2 【案例】查询水果的价格 38 2.5.3 循环结构 39 2.5.4 跳转语句 43 2.5.5 循环嵌套 44 动手实践:输出“金字塔” 46 本章小结 48 课后练习 48 第 3 章 数组 49 3.1 初识数组 49 3.2 创建数组 50 3.3 数组的基本操作 51 3.3.1 获取和修改数组长度 51 3.3.2 访问数组 52 3.3.3 遍历数组 52 3.3.4 添加数组元素 53 3.3.5 修改数组元素 54 3.3.6 删除数组元素 54 3.3.7 【案例】查找班级最高分和最低分 54 3.4 二维数组 55 3.4.1 什么是二维数组 55 3.4.2 创建与遍历二维数组 56 3.4.3 【案例】二维数组转置 57 3.5 数组排序 58 3.5.1 冒泡排序 58 3.5.2 插入排序 59 动手实践:统计每位学生的总成绩 61 本章小结 62 课后练习 62 第 4 章 函数 64 4.1 初识函数 64 4.1.1 什么是函数 64 4.1.2 函数的定义与调用 65 4.1.3 函数参数的设置 66 4.1.4 获取函数调用时传递的所有实参 67 4.1.5 【案例】求任意两数的最大值 68 4.2 函数内外变量的作用域 69 4.3 函数进阶 70 4.3.1 函数表达式 70 4.3.2 匿名函数 70 4.3.3 回调函数 72 4.4 嵌套与递归 73 4.4.1 函数嵌套与作用域链 73 4.4.2 递归调用 74 4.4.3 【案例】求斐波那契数列第 N 项的值 75 4.5 闭包函数 76 4.5.1 什么是闭包函数 76 4.5.2 闭包函数的实现 76 动手实践:获取指定年份的 2 月份的天数 77 本章小结 78 课后练习 78 第 5 章 对象 80 5.1 初识对象 80 5.2 对象的创建 81 5.2.1 利用字面量创建对象 81 5.2.2 利用构造函数创建对象 82 5.2.3 利用 Object()创建对象 84 5.3 对象的遍历 84 5.4 值类型和引用类型 85 5.5 Math 对象 86 5.5.1 Math 对象的使用 87 5.5.2 【案例】猜数字游戏 88 5.6 Date 对象 89 5.6.1 Date 对象的创建 89 5.6.2 Date 对象的使用 90 5.6.3 【案例】时间差计算 91 5.7 Array 对象 92 5.7.1 Array 对象的使用 92 5.7.2 数组类型检测 96 5.7.3 【案例】统计不及格学生的人数 96 5.7.4 【案例】去除重复的比赛项目 97 5.8 String 对象 98 5.8.1 String 对象的创建 98 5.8.2 String 对象的使用 99 5.8.3 【案例】判断用户名是否合法 101 5.9 查阅 MDN Web 文档 101 动手实践:统计出现次数最多的字符 104 本章小结 105 课后练习 105 第 6 章 DOM(上) 107 6.1 Web API 简介 107 6.2 DOM 简介 108 6.3 获取元素 108 6.3.1 根据 id 属性获取元素 108 6.3.2 根据标签名获取元素 109 6.3.3 根据 name 属性获取元素 111 6.3.4 根据类名获取元素 112 6.3.5 根据 CSS 选择器获取元素 113 6.3.6 获取基本结构元素 114 6.4 事件基础 116 6.4.1 事件概述 116 6.4.2 注册事件 116 6.5 元素内容操作 117 6.5.1 innerHTML 117 6.5.2 innerText 119 6.5.3 textContent 120 6.6 元素样式操作 122 6.6.1 通过 style 属性操作样式 122 6.6.2 【案例】单击按钮改变按钮颜色 123 6.6.3 通过 className 属性操作样式 124 6.6.4 通过 classList 属性操作样式 126 6.7 元素属性操作 128 6.7.1 操作 property 属性 128 6.7.2 操作 attribute 属性 130 6.7.3 【案例】Tab 栏切换 132 6.7.4 操作 data-*属性 134 动手实践:显示和隐藏密码 135 本章小结 137 课后练习 137 第 7 章 DOM(下) 139 7.1 节点基础 139 7.1.1 节点的属性 139 7.1.2 节点的层级 140 7.2 节点操作 141 7.2.1 获取节点 141 7.2.2 创建并添加节点 144 7.2.3 移除节点 145 7.2.4 【案例】简易留言板 146 7.2.5 复制节点 149 7.3 事件进阶 150 7.3.1 事件监听 150 7.3.2 事件移除 151 7.3.3 DOM 事件流 152 7.4 事件对象 153 7.4.1 事件对象的使用 153 7.4.2 事件对象的常用属性和方法 154 7.5 常用事件 157 7.5.1 焦点事件 157 7.5.2 【案例】文本框内容的显示和隐藏 158 7.5.3 鼠标事件 160 7.5.4 【案例】下拉菜单 161 7.5.5 键盘事件 163 7.5.6 表单事件 164 7.6 元素其他操作 165 7.6.1 获取元素的位置和大小 165 7.6.2 获取元素的可视区域 166 7.6.3 元素的滚动操作 168 7.6.4 获取鼠标指针位置 169 动手实践:鼠标拖曳效果 170 本章小结 172 课后练习 172 第 8 章 BOM 174 8.1 BOM 简介 174 8.2 BOM 对象 175 8.2.1 window 对象 175 8.2.2 location 对象 176 8.2.3 navigator 对象 177 8.2.4 history 对象 178 8.2.5 screen 对象 178 8.3 窗口事件 179 8.3.1 窗口加载与卸载事件 179 8.3.2 窗口大小事件 180 8.4 定时器 181 8.4.1 定时器方法 181 8.4.2 【案例】60 秒内只能发送一次短信 182 8.4.3 同步和异步 183 动手实践:制作交通信号灯 184 本章小结 187 课后练习 187 第 9 章 正则表达式 189 9.1 认识正则表达式 189 9.1.1 什么是正则表达式 189 9.1.2 创建正则表达式 190 9.1.3 使用正则表达式 190 9.2 正则表达式中的元字符 191 9.2.1 定位符 191 9.2.2 中括号、连字符和反义符 192 9.2.3 反斜线 193 9.2.4 点字符和限定符 194 9.2.5 竖线 195 9.2.6 小括号 195 9.2.7 【案例】身份证号码验证 198 9.3 正则表达式中的模式修饰符 199 9.4 正则表达式常用方法 199 9.4.1 search()方法 200 9.4.2 split()方法 200 9.4.3 replace()方法 200 9.4.4 【案例】过滤并替换敏感词 201 动手实践:表单验证 202 本章小结 205 课后练习 205 第 10 章 Web 服务器与 Ajax 207 10.1 Web 基础知识 207 10.1.1 Web 服务器 208 10.1.2 URL 地址 208 10.1.3 HTTP 209 10.2 Web 服务器搭建 212 10.2.1 Node.js 概述 213 10.2.2 Node.js 的下载和安装 213 10.2.3 初识 Express 216 10.2.4 安装 Express 216 10.2.5 使用 Express 搭建服务器 217 10.3 Ajax 入门 219 10.3.1 什么是 Ajax 219 10.3.2 创建 Ajax 对象 219 10.3.3 实现 GET 方式的 Ajax 请求 220 10.3.4 实现 POST 方式的 Ajax 请求 221 10.3.5 获取服务器端的响应 222 10.4 数据交换格式 225 10.4.1 XML 数据格式 225 10.4.2 JSON 数据格式 227 10.5 同源策略 230 10.5.1 什么是同源策略 230 10.5.2 实现跨域请求 230 动手实践:Ajax 表单验证 232 本章小结 235 课后练习 235 第 11 章 jQuery 237 11.1 jQuery 快速入门 237 11.1.1 什么是 jQuery 237 11.1.2 下载和引入 jQuery 238 11.1.3 jQuery 的简单使用 239 11.1.4 jQuery 对象 240 11.2 获取元素 241 11.2.1 利用选择器获取元素 241 11.2.2 jQuery 中常用的选择器 242 11.3 元素操作 245 11.3.1 元素遍历操作 245 11.3.2 元素内容操作 246 11.3.3 元素样式操作 248 11.3.4 元素属性操作 251 11.3.5 元素查找和过滤操作 253 11.3.6 元素追加操作 254 11.3.7 元素替换操作 255 11.3.8 元素删除操作 256 11.3.9 元素复制操作 257 11.4 事件操作 258 11.4.1 页面加载事件 258 11.4.2 事件注册 259 11.4.3 事件触发 261 11.4.4 事件委托 262 11.4.5 事件解除 263 11.5 动画特效 265 11.5.1 内置动画 265 11.5.2 自定义动画 267 11.5.3 【案例】导航跟随效果 267 11.6 jQuery 操作 Ajax 269 动手实践:返回页面顶部 271 本章小结 273 课后练习 274 第 12 章 面向对象编程 275 12.1 面向对象概述 275 12.1.1 面向过程与面向对象 276 12.1.2 面向对象的特征 276 12.2 类与对象 278 12.2.1 类与对象概述 278 12.2.2 类的定义 278 12.2.3 类的继承 279 12.2.4 访问父类的方法 280 12.3 原型 282 12.3.1 原型对象 283 12.3.2 传统的继承方式 284 12.3.3 成员查找机制 286 12.3.4 原型链 287 12.3.5 【案例】利用原型对象扩展数组方法 292 12.4 this 的指向 293 12.4.1 this 指向规则 293 12.4.2 更改 this 指向 293 12.4.3 【案例】实现迷你版 jQuery 294 12.5 错误处理 298 12.5.1 如何进行错误处理 299 12.5.2 错误类型 300 12.5.3 抛出错误对象 300 12.5.4 错误对象的传递 301 动手实践:网页版 2048 游戏 301 本章小结 303 课后练习 303