JavaScript是一种广泛应用于Web前端开发的脚本语言,具有简单、易学、易用的特点,用JavaScript开发网页可以增强网页的互动性,为用户提供实时的、动态的交互体验。
本书共分为12章,内容包括JavaScript快速入门、基本语法、数组、函数、对象、BOM、DOM、事件、正则表达式、Ajax、jQuery和网页2048小游戏。为了加深初学者对知识的领悟,本书在确保知识讲解系统、全面的基础上,还配备了精彩的案例,将多个知识点综合运用。
本书适合作为高等院校本、专科计算机相关专业的教材使用,也可作为JavaScript爱好者的参考书,是一本适合广大计算机编程爱好者学习参考的优秀读物。
本教材主要有以下特色:
一、传统+案例式教学
本书采用“传统+案例式”的教学模式,在确保知识讲解系统、全面的基础上,为每个章节配备了精彩的案例,将多个知识点综合运用,以加深初学者对知识的领悟。
二、知识全面,保证干货
不仅讲解了JavaScript语言的基本语法、DOM、BOM、事件等必备基础,还加入了面向对象编程、正则表达式、jQuery、Ajax、ES6等实用技术。
三、讲解细致,结构清晰
按照由浅入深的学习顺序安排教材中的章节,学习曲线自然顺畅。课程讲解语言精练,通俗易懂,注重实际操作。
四、教材、资源、服务三合一,高效学习
为了便于老师备课,本教材配备了精美的PPT、教学视频和源代码等资源。本书还有配套题库可以根据需求自由组卷,方便老师考察学生的学习情况。
第 1章 JavaScript快速入门 1 1.1 初识JavaScript 2 1.1.1 什么是JavaScript 2 1.1.2 JavaScript的由来 3 1.1.3 JavaScript的特点 4 1.1.4 JavaScript与ECMAScript的关系 4 1.2 开发工具 5 1.2.1 浏览器 5 1.2.2 代码编辑器 6 1.2.3 【案例】第 一个JavaScript程序 7 1.3 JavaScript入门 9 1.3.1 JavaScript引入方式 9 1.3.2 常用输出语句 11 1.3.3 注释 12 1.3.4 数据与运算 12 1.3.5 函数 14 1.3.6 对象 15 1.3.7 事件 17 1.3.8 【案例】改变网页背景色 18 动手实践:验证用户输入的密码 19 本章小结 20 课后练习 20 第 2章 基本语法 21 2.1 变量 22 2.1.1 标识符 22 2.1.2 关键字与保留字 22 2.1.3 变量的使用 23 2.1.4 变量的赋值 23 2.2 数据类型 24 2.2.1 数据类型分类 24 2.2.2 基本数据类型 24 2.2.3 数据类型检测 26 2.2.4 数据类型转换 27 2.3 表达式 29 2.4 运算符 29 2.4.1 算术运算符 29 2.4.2 字符串运算符 30 2.4.3 赋值运算符 30 2.4.4 比较运算符 31 2.4.5 逻辑运算符 32 2.4.6 三元运算符 32 2.4.7 位运算符 33 2.4.8 运算符优先级 35 2.4.9 【案例】计算圆的周长和面积 35 2.5 流程控制 36 2.5.1 选择结构 36 2.5.2 循环结构 39 2.5.3 跳转语句 42 2.5.4 【案例】打印金字塔 43 动手实践:九九乘法表 45 本章小结 46 课后练习 46 第3章 数组 48 3.1 初识数组 49 3.2 创建数组 49 3.3 数组的基本操作 50 3.3.1 获取数组长度 50 3.3.2 数组的访问与遍历 51 3.3.3 元素的添加与修改 52 3.3.4 元素的删除 53 3.3.5 【案例】查找最大值与最小值 54 3.4 常见二维数组操作 55 3.4.1 创建与遍历 55 3.4.2 【案例】二维数组转置 56 3.5 数组排序 57 3.5.1 冒泡排序 57 3.5.2 插入排序 58 3.6 常见数组方法 60 3.6.1 栈方法 60 3.6.2 检索方法 61 3.6.3 数组转字符串 63 3.6.4 其他方法 63 3.6.5 【案例】猴子选大王 65 动手实践:省份城市的三级联动 66 本章小结 69 课后练习 70 第4章 函数 71 4.1 函数的定义与调用 72 4.1.1 初识函数 72 4.1.2 参数设置 73 4.1.3 函数的调用 74 4.1.4 【案例】字符串大小写转换 75 4.2 变量的作用域 76 4.3 匿名函数 78 4.3.1 函数表达式 78 4.3.2 匿名函数 78 4.3.3 回调函数 79 4.4 嵌套与递归 81 4.4.1 函数嵌套与作用域链 81 4.4.2 递归调用 82 4.4.3 【案例】求斐波那契数列第N项的值 83 4.5 闭包函数 83 4.5.1 什么是闭包函数 83 4.5.2 闭包函数的实现 84 动手实践:网页计算器 85 本章小结 86 课后练习 86 第5章 对象 88 5.1 面向对象概述 89 5.1.1 面向过程与面向对象 89 5.1.2 面向对象的特征 89 5.2 自定义对象 91 5.2.1 对象的定义 91 5.2.2 访问对象成员 92 5.2.3 对象成员遍历 92 5.2.4 深拷贝与浅拷贝 93 5.3 构造函数 94 5.3.1 为什么使用构造函数 94 5.3.2 JavaScript内置的构造函数 95 5.3.3 自定义构造函数 95 5.3.4 私有成员 96 5.3.5 函数中的this指向 97 5.4 内置对象 98 5.4.1 String对象 98 5.4.2 Number对象 100 5.4.3 Math对象 100 5.4.4 Date对象 101 5.4.5 【案例】制作年历 102 5.5 错误处理与代码调试 105 5.5.1 错误处理 105 5.5.2 错误对象 106 5.5.3 错误类型 107 5.5.4 代码调试 107 5.6 原型与继承 109 5.6.1 原型 109 5.6.2 继承 110 5.6.3 静态成员 113 5.6.4 属性搜索原则 113 5.6.5 原型链 114 动手实践:表单生成器 118 本章小结 123 课后练习 123 第6章 BOM 125 6.1 什么是BOM对象 126 6.2 window对象 126 6.2.1 全局作用域 126 6.2.2 弹出对话框和窗口 127 6.2.3 窗口位置和大小 130 6.2.4 框架操作 132 6.2.5 定时器 132 6.2.6 【案例】限时秒杀 134 6.3 location对象 136 6.3.1 更改URL 136 6.3.2 获取URL参数 137 6.3.3 【案例】定时跳转 138 6.4 history对象 139 6.4.1 历史记录跳转 139 6.4.2 无刷新更改URL地址 140 6.5 navigator对象 141 6.6 screen对象 142 动手实践:红绿灯倒计时 143 本章小结 145 课后练习 145 第7章 DOM 147 7.1 DOM对象简介 148 7.1.1 什么是DOM 148 7.1.2 DOM HTML节点树 148 7.1.3 DOM对象的继承关系 149 7.2 HTML元素操作 150 7.2.1 获取操作的元素 150 7.2.2 元素内容 154 7.2.3 【案例】改变盒子大小 155 7.2.4 元素属性 156 7.2.5 元素样式 158 7.2.6 【案例】标签栏切换效果 161 7.3 文档节点操作 162 7.3.1 获取节点 162 7.3.2 节点追加 164 7.3.3 节点删除 165 7.3.4 【案例】列表的增删和移动 166 动手实践:购物车 171 本章小结 176 课后练习 176 第8章 事件 178 8.1 事件处理 179 8.1.1 事件概述 179 8.1.2 事件的绑定方式 180 8.2 事件对象 182 8.2.1 获取事件对象 182 8.2.2 常用属性和方法 183 8.2.3 【案例】缓动的小球 186 8.3 事件分类 188 8.3.1 页面事件 188 8.3.2 焦点事件 189 8.3.3 鼠标事件 191 8.3.4 【案例】鼠标拖曳特效 193 8.3.5 键盘事件 195 8.3.6 表单事件 197 动手实践:图片放大特效 198 本章小结 202 课后练习 202 第9章 正则表达式 204 9.1 认识正则表达式 205 9.1.1 什么是正则表达式 205 9.1.2 如何使用正则 205 9.1.3 获取正则对象 206 9.2 字符类别与集合 207 9.2.1 字符类别 207 9.2.2 字符集合 208 9.2.3 【案例】限定输入内容 208 9.3 字符限定与分组 211 9.3.1 字符限定 211 9.3.2 括号字符 212 9.3.3 正则运算符优先级 214 9.3.4 【案例】内容查找与替换 214 9.4 与正则相关的方法 215 9.4.1 RegExp类中的方法 216 9.4.2 String类中的方法 217 动手实践:表单验证 217 本章小结 222 课后练习 223 第 10章 Ajax 224 10.1 Web基础知识 225 10.1.1 Web服务器 225 10.1.2 HTTP 225 10.2 Web服务器搭建 228 10.2.1 PHP开发环境 229 10.2.2 前后端交互 230 10.3 Ajax入门 232 10.3.1 什么是Ajax 232 10.3.2 创建Ajax对象 233 10.3.3 Ajax向服务器发送请求 233 10.3.4 处理服务器返回的信息 236 10.4 数据交换格式 238 10.4.1 XML数据格式 239 10.4.2 JSON数据格式 240 10.4.3 【案例】无刷新分页 242 10.5 跨域请求 250 10.5.1 Ajax跨域问题 250 10.5.2 JSONP实现跨域请求 251 10.6 扩展技术 254 10.6.1 Cookie 254 10.6.2 FormData 255 10.6.3 Promise 256 10.6.4 WebSocket 260 动手实践:进度条文件上传 262 本章小结 265 课后练习 266 第 11章 jQuery 267 11.1 jQuery快速入门 268 11.1.1 什么是jQuery 268 11.1.2 下载jQuery 268 11.1.3 使用jQuery 270 11.2 元素操作 271 11.2.1 jQuery对象 271 11.2.2 jQuery选择器 271 11.2.3 元素遍历 278 11.2.4 元素内容 279 11.2.5 元素样式 280 11.2.6 元素筛选 281 11.2.7 元素属性 283 11.2.8 【案例】折叠菜单 283 11.3 文档节点操作 285 11.3.1 节点追加 285 11.3.2 节点替换 286 11.3.3 节点删除 286 11.3.4 节点复制 287 11.3.5 【案例】左移与右移 287 11.4 事件操作 289 11.4.1 常用事件 289 11.4.2 页面加载事件 292 11.4.3 事件绑定与切换 292 11.4.4 【案例】手风琴效果 294 11.5 动画特效 295 11.5.1 常用动画 295 11.5.2 自定义动画 297 11.5.3 【案例】无缝轮播图 299 11.6 jQuery操作Ajax 302 11.7 插件机制 307 11.7.1 自定义插件 307 11.7.2 jQuery插件库 308 11.7.3 jQuery UI 309 11.7.4 【案例】自定义全选与反选插件 311 本章小结 314 课后练习 314 第 12章 网页版2048小游戏 315 12.1 游戏功能展示 316 12.2 实现步骤分析 317 12.3 游戏功能实现 317 12.3.1 设计游戏界面 317 12.3.2 控制游戏数值 319 12.3.3 实现单元格移动 323 12.3.4 设置游戏分数 326 12.3.5 判断胜利和失败 327 12.3.6 重新开始游戏 330 本章小结 330 课后练习 331