图书简介:
第1章 JavaScript概述 11.1 学习JavaScript程序设计 11.2 JavaScript简介 31.3 开发JavaScript应用程序 6【课堂案例1-1】第1个JavaScript程序 7第2章 程序的构成—函数 102.1 函数的使用 10【课堂案例2-1】在网页上输出消息 11【课堂案例2-2】在网页上显示图片 11【课堂案例2-3】在网页中播放视频,显示视频信息 122.2 函数的参数 13【课堂案例2-4】使用参数传递姓氏和名字,在网页上输出姓名 14【课堂案例2-5】定义函数area(),用于计算矩形面积 15【课堂案例2-6】设置参数默认值 162.3 函数的返回值 17【课堂案例2-7】计算任意3个数的平均值 17【课堂案例2-8】计算实发工资 182.4 函数的嵌套定义 19【课堂案例2-9】计算两个圆的面积之和 19*2.5 高级函数特性 20【课堂案例2-10】调用匿名函数 20【课堂案例2-11】数组作为参数,计算购物总金额 22【课堂案例2-12】使用参数对象Arguments来计算任意n个数的和 24【课堂案例2-13】使用rest参数来计算任意n个数的和 25【课堂案例2-14】使用箭头函数进行平方运算 26【课堂案例2-15】使用函数对象编写函数测试页面 262.6 本章练习 29第3章 JavaScript语言基础 333.1 基本数据类型 33【课堂案例3-1】数据类型测试及转换 363.2 变量和常量 37【课堂案例3-2】变量的定义和使用 37【课堂案例3-3】变量的赋值 38【课堂案例3-4】变量的作用域 40【课堂案例3-5】使用常量PI,转换角度与弧度 413.3 运算符和表达式 42【课堂案例3-6】算术运算符使用示例 43【课堂案例3-7】赋值运算符使用示例 44【课堂案例3-8】使用关系运算符、条件运算符判断用户输入的年龄 45【课堂案例3-9】逻辑运算符使用示例 47【课堂案例3-10】字符串运算符使用示例 48【课堂案例3-11】位运算符使用示例 48【课堂案例3-12】使用typeof运算符检测数据类型 503.4 本章练习 50第4章 JavaScript语句 544.1 JavaScript语句和基本程序结构 544.2 分支语句 55【课堂案例4-1】使用单分支if语句判断两个数字中的较大数 55【课堂案例4-2】使用if语句将两个数字按从小到大的顺序输出 56【课堂案例4-3】使用if语句检查参数值的有效性 56【课堂案例4-4】使用if…else语句计算数字的绝对值 57【课堂案例4-5】使用if…else语句判断成绩是否及格 58【课堂案例4-6】使用if嵌套删除文件(伪代码) 59【课堂案例4-7】使用switch语句查询简单的日程表 604.3 循环语句 63【课堂案例4-8】使用while语句输出递增的数字序列 63【课堂案例4-9】使用while语句在网页上显示一组图片 63【课堂案例4-10】使用do…while语句计算100到500之间所有整数的和 64【课堂案例4-11】使用do…while语句计算m到n之间所有偶数的和 65【课堂案例4-12】使用for语句输出1到n之间所有的整数 664.4 循环控制语句 67【课堂案例4-13】使用break语句计算最小公倍数 67【课堂案例4-14】continue语句演示 684.5 循环嵌套 69【课堂案例4-15】使用二重循环嵌套在页面上显示五子棋棋盘 694.6 异常处理 70【课堂案例4-16】使用throw语句抛出异常 70【课堂案例4-17】使用try…catch()…finally语句处理异常 724.7 本章练习 74第5章 基于原型的对象编程 825.1 对象编程概述 825.2 对象的创建和使用 83【课堂案例5-1】使用Object创建自定义对象book,用于描述图书信息 83【课堂案例5-2】使用Object创建自定义对象calc,用于简单数学计算 84【课堂案例5-3】使用构造函数创建自定义对象phone,用于描述电话信息 86【课堂案例5-4】创建图片对象,使用this访问对象自身的属性和方法 86【课堂案例5-5】使用with简化对象操作 87【课堂案例5-6】使用instanceof运算符判断对象类型 88【课堂案例5-7】使用for…in循环遍历对象成员 89【课堂案例5-8】使用私有对象属性实现数据隐藏 90【课堂案例5-9】为属性添加赋值器方法(Setter)和取值器方法(Getter) 91【课堂案例5-10】使用原型(prototype)扩展对象类型 925.3 对象继承 94【课堂案例5-11】使用call()方法实现对象继承 94【课堂案例5-12】使用原型链(Prototype Chain)实现对象继承 955.4 class的基本用法 96【课堂案例5-13】使用class创建类,再通过类定义对象 96【课堂案例5-14】class的赋值方法(setter)和取值方法(getter) 97【课堂案例5-15】使用extends实现继承 98【课堂案例5-16】使用JSON对象 995.5 本章练习 100第6章 本地对象 1036.1 本地对象概述 1036.2 Boolean对象 104【课堂案例6-1】比较布尔值与布尔对象的区别 1046.3 Number对象 105【课堂案例6-2】使用Number对象获取数值极限 106【课堂案例6-3】将数字转换成字符串 1066.4 String对象 107【课堂案例6-4】合成新的字符串 109【课堂案例6-5】显示字符串的Unicode编码 110【课堂案例6-6】截取字符串内容 110【课堂案例6-7】在字符串中精确查找指定内容 112【课堂案例6-8】在字符串中进行模糊查找 112【课堂案例6-9】将字符串分割成数组,提取英文句子中前3个单词 113【课堂案例6-10】转换字母大小写 114【课堂案例6-11】为字符串添加样式 1156.5 RegExp对象 116【课堂案例6-12】使用正则表达式替换字符串中的文本 117【课堂案例6-13】使用正则表达式验证电子邮箱格式 118【课堂案例6-14】使用正则表达式交换单词的位置 1186.6 Array对象 119【课堂案例6-15】使用Array对象创建数组 120【课堂案例6-16】使用for…in循环遍历数组,并找到最大值 121【课堂案例6-17】对数组进行排序 122【课堂案例6-18】使用Array提供的方法添加、删除或替换数组元素 123【课堂案例6-19】将数组转换成字符串 124【课堂案例6-20】使用现有数组元素生成新数组 124【课堂案例6-21】使用回调函数处理数组元素 125【课堂案例6-22】使用二维数组 128【课堂案例6-23】使用JSON数组 1296.7 Math对象 130【课堂案例6-24】使用Math对象完成数学计算1 131【课堂案例6-25】使用Math对象完成数学计算2 1316.8 Date对象 133【课堂案例6-26】创建Date对象 135【课堂案例6-27】使用Date对象计算程序运行时间 136【课堂案例6-28】使用Date对象的方法设置/获取日期时间信息 1376.9 Error对象 138【课堂案例6-29】使用自定义Error对象抛出异常 139【课堂案例6-30】处理系统抛出的异常 1406.10 全局对象 141【课堂案例6-31】使用全局方法 1426.11 集合对象 143【课堂案例6-32】使用Set对象 144【课堂案例6-33】使用Set对象实现集合的基本操作 144【课堂案例6-34】使用Map对象 1456.12 二进制数组 146【课堂案例6-35】使用二进制数组 1476.13 本章练习 148第7章 浏览器对象模型(BOM) 1607.1 浏览器对象模型概述 1607.2 window对象 161【课堂案例7-1】获取浏览器窗口的位置和大小 163【课堂案例7-2】控制浏览器窗口的位置和大小 163【课堂案例7-3】使用模式对话框 166【课堂案例7-4】制作简单的数字时钟 168【课堂案例7-5】在网页中实现自动滚动屏幕功能 1697.3 navigator对象 171【课堂案例7-6】获取浏览器及操作系统的相关信息 171【课堂案例7-7】获取当前浏览器安装的插件信息 1727.4 location对象 173【课堂案例7-8】获取浏览器URL的相关信息 174【课堂案例7-9】使用location对象实现页面跳转和刷新 174【课堂案例7-10】创建页面导航 1767.5 history对象 177【课堂案例7-11】访问历史记录中的URL 1787.6 screen对象 179【课堂案例7-12】获取用户屏幕信息 179【课堂案例7-13】根据用户屏幕信息切换网页显示效果 1817.7 本章练习 181第8章 HTML文档对象模型(DOM) 1848.1 文档对象模型概述 1848.2 DOM核心接口 188【课堂案例8-1】获取DOM树中的节点信息 192【课堂案例8-2】删除DOM树中的节点 194【课堂案例8-3】在DOM树中添加子节点 195【课堂案例8-4】替换DOM树中的节点 197【课堂案例8-5】复制DOM树中的节点 198【课堂案例8-6】获取节点的属性 199【课堂案例8-7】控制文本节点 201【课堂案例8-8】提取网页中的超链接地址 2038.3 DOM HTML 204【课堂案例8-9】获取文档信息 207【课堂案例8-10】修改文档中的链接 208【课堂案例8-11】操作文档中的表格 210【课堂案例8-12】获取文本框中用户输入的内容 212【课堂案例8-13】获取单选框用户选择的内容 213【课堂案例8-14】获取复选框用户选择的内容 214【课堂案例8-15】控制下拉菜单 215【课堂案例8-16】判断用户选取的文件类型 217【课堂案例8-17】限制用户使用表单元素 218【课堂案例8-18】验证表单数据 220【课堂案例8-19】为所有段落加边框 221【课堂案例8-20】选项卡效果 222【课堂案例8-21】Web相册 224【课堂案例8-22】修改网页背景色 226【课堂案例8-23】显示/隐藏页面元素 227【课堂案例8-24】覆盖显示图片 228【课堂案例8-25】在网页中绘图1 230【课堂案例8-26】在网页中绘图2 2318.4 本章练习 232第9章 事件(Event)处理 2379.1 事件处理概述 2379.2 基于HTML属性的事件处理方法 237【课堂案例9-1】文档事件 239【课堂案例9-2】鼠标事件 240【课堂案例9-3】获得/失去焦点事件 241【课堂案例9-4】键盘事件 241【课堂案例9-5】onchange事件 242【课堂案例9-6】使用this作为参数 243【课堂案例9-7】为事件设置响应函数 2449.3 DOM Event事件处理 245【课堂案例9-8】注册事件监听器,设置背景图片 248【课堂案例9-9】注册多个事件监听器,实现简易加法计算器 248【课堂案例9-10】事件指派 250【课堂案例9-11】显示鼠标位置 251【课堂案例9-12】创建快捷菜单,缩放图片 252【课堂案例9-13】使用键盘选择角色 2549.4 本章练习 257第10章 综合练习—WebPaint 25910.1 整体说明 25910.2 JavaScript程序说明 260
展开
技术背景JavaScript是一种广泛用于客户端网页开发的脚本语言,早期主要用来给HTML网页添加动态功能。随着Web开发技术的迅速发展,JavaScript以其跨平台、容易上手等优势而大行其道。有些特殊功能(如AJAX)必须依赖JavaScript在客户端进行支持。随着Node.js框架的发展,JavaScript逐渐被用来编写服务器端程序。HTML5和移动设备的广泛应用及ECMAScript新标准的发布,也使得JavaScript的前景更加绚丽。就业需要JavaScript脚本语言是开发Web应用程序所必备的技术。随着HTML5的广泛应用,就业岗位对于JavaScript的需求会越来越强烈。JavaScript骤然变成了“聚光灯下的明星语言”,越来越多的开发者加入到JavaScript阵营。下图是2019年上半年AngelList对Web开发技术岗位需求的统计。 由图中可以看出,JavaScript的就业岗位需求量占总体的20.6%,远远超过其他语言。本书编写目的很多高职高专院校已将JavaScript作为一门重要的程序设计课程。本书在编写过程中力求突出高职教育的特点,以“应用”为主旨和特征,以“实践教学”为主要目的,以“培养学生的专业技术应用能力和职业操作技能”为教材编写重点,注重对学生编程思想的开发和培养,提高他们分析问题、解决问题的能力,将教学内容与职业培养目标相结合。通过对本书的学习,读者可以熟练掌握以下知识和技能:JavaScript语法基础;处理JavaScript内置对象,如String、Array、Number、Math、RegExp等;使用BOM、DOM控制文档元素;处理网页事件;使用不同的方式持久化数据。本书主要内容本书所讨论的内容包括JavaScript基本知识和实用技术,以及不断发展、与时俱进的新技术、新应用。内容讲解由浅入深、循序渐进,理论知识与实践相结合,案例选取实用性强、针对性强。第1章介绍了JavaScript脚本语言的作用和特点,讲述如何学习JavaScript语言,如何选择适合自己的开发工具,如何添加注释,如何选择浏览器,如何将JavaScript嵌入HTML页面并运行调试,以及如何养成良好的代码书写规范。第2章介绍了JavaScript函数的基本用法,包括函数的定义及调用,参数的用法,返回值的用法,函数编写规则等。函数是JavaScript的灵魂,将函数放在本书第2章讲述,以便让后面章节的课堂案例及练习使用函数来实现,使读者切实掌握函数的用法。第3章介绍了JavaScript编程的基本元素,包括基本数据类型、常量、变量、运算符、表达式及类型转换。第4章介绍了JavaScript流程控制语句的使用,掌握选择语句、循环语句、循环控制语句是学习任何程序设计语言的基本功。第5章介绍了如何使用JavaScript自定义对象,如何私有化数据成员,使用this关键字访问自身数据,使用with关键字简化对象访问,使用for...in循环访问对象属性,以及ES6中新增的对象编程方法等。第6章介绍了JavaScript本地对象,包括String、Number、Boolean、Array、Date、RegExp、Error、Global、Math对象的用法,以及ES6新增的Set、Map、ArrayBuffer对象的用法。JavaScript内置了很多对象,这使得开发工作轻松了许多。第7章介绍了浏览器对象模型(BOM),包括window、history、screen、location、navigator对象的用法。通过本章的学习,读者可以掌握创建新的浏览器窗口、获取客户端屏幕信息、获取浏览器相关信息。第8章介绍了文档对象模型(DOM),包括DOM核心接口的定义,DOM HTML接口的定义,常见页面元素的操作,表单元素的操作,DOM节点操作方法。通过本章的学习,读者可以通过DOM对象控制页面上的任何内容,包括修改元素属性、验证表单、使用画布元素等。第9章介绍了JavaScript事件处理,包括事件触发、事件对象。通过本章的学习,读者可以处理常见事件,了解DOM Event接口,访问事件对象。第10章综合运用Web开发技术来制作一个完整的在线绘图网站,通过JavaScript实现简单图形和动画的绘制,并进行裁剪、着色、复制等操作,也可以为图像添加简单的特效,通过实践提高读者编程技法。 本书特色1.符合初学者的学习特点本书实例丰富,技术实用,结构安排合理,知识讲解循序渐进,对实例的分析清晰到位,让读者快速步入JavaScript开发殿堂。2.适合学校组织教学的需要根据教学需要,设计有针对性的练习题,注重启发读者编程思维。课堂案例和练习准确地覆盖学习目标和知识要点,方便教师设计教学过程,方便学生了解学习目的。3.内容新颖,具有技术前瞻性本书内容新颖多样、概念清晰、实用性强,涵盖当前主流JavaScript应用开发技术。许多其他同类教材所介绍的技术内容比较基础,教材内容的更新比市场需求慢半拍。而本书更注重技术的实用性及前瞻性,介绍了许多当前主流或即将流行的新技术。使用方法及课时分配本书中有大量精彩的范例、练习题,这些素材来自作者多年来的软件开发、教育教学经验。本书配套的范例源代码、电子课件等资源,请登录华信教育资源网(www.hxedu. com.cn),注册后免费获取。本书内容在实际教学过程中运用多年,效果良好。本课程计划学时为108学时,建议将课时分为讲解与实训两部分。著作者分工本书由曹维明担任主编,编写本书第5章至第10章内容;张岩、刘燕、赵卉担任副主编,编写本书第1章至第4章的内容。在本书编写过程中,编者本着科学、严谨的态度,力求精益求精,但错误、疏漏之处在所难免,请广大读者批评指正。 编 者
展开