JavaScript是一种广泛用于客户端网页开发的脚本语言,它可以用来给HTML网页添加动态功能,实现与用户的交互。它最初由网景公司设计,是一种动态、弱类型、基于原型的语言,现在是甲骨文公司的注册商标。
JavaScript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。
本课程通过JavaScript语言学习程序设计的基本概念:变量、计算、控制、循环、函数等,并深入理解JavaScript如何与浏览器和HTML的诸元素协同工作。
循序渐进地讲述了JavaScript及相关的CSS、DOM与Ajax等技术。从JavaScript语言基础开始,分别讨论了图像、框架、浏览器窗口、表单、正则表达式、用户事件和cookie,以及Ajax基础。
1. 掌握 JavaScript 核心语法,培养编程逻辑思维
2. 掌握 DOM 和 BOM 对象的常用属性和方法,能够完成网页常见的交互效果
3. 掌握 JavaScript 底层工作机制和 ES6+ 高级特性,能够高效实现业务逻辑
4. 能够使用 axios 实现 Ajax 操作,为后续项目课做好技术铺垫
5. 能够运用 Git 管理前端项目,并且使用 Git 分支进行多人协同开发
第1章 JavaScript语法基础
1.1基本概念和开发工具
1.1.1计算机程序
1.1.2计算机语言
1.1.3编程语言
1.1.4翻译器
1.1.5编程语言和标记语言的区别
1.1.6计算机基础
1.1.7浏览器
1.1.8网页、网站和应用程序
1.1.9开发工具
1.2JavaScript是什么
1.2.1JavaScript语言特点
1.2.2编译语言和脚本语言的对比
1.2.3JavaScript应用场景
1.2.4JavaScript与浏览器的关系
1.2.5JavaScript的组成
1.3初次体验JavaScript代码
1.3.1注意事项
1.3.2代码注释
1.4变量
1.4.1变量引入、声明和初始化
1.4.2变量在内存中的存储
1.4.3变量的命名规则和规范
1.5数据类型
1.5.1number类型
1.5.2进制介绍(了解)
1.5.3string类型
1.5.4boolean类型
1.5.5undefined和null
1.5.6数据类型转换
1.5.7字面量
1.5.8获取变量的类型
1.5.9复杂数据类型object
1.6运算符
1.6.1算术运算符
1.6.2一元运算符
1.6.3逻辑运算符
1.6.4关系运算符
1.6.5赋值运算符
1.6.6运算符的优先级
第2章 JavaScript流程控制
2.1顺序结构
2.2分支结构
2.2.1if语句
2.2.2三元运算符
2.2.3switch语句
2.2.4分支语句总结
2.2.5布尔类型的隐式转换
2.3循环结构
2.3.1while语句
2.3.2do-while语句
2.3.3for语句
2.3.4continue和break
2.4调试
第3章 数组、函数、作用域
3.1数组
3.1.1为什么要学习数组
3.1.2数组的概念
3.1.3数组的定义
3.1.4获取数组元素
3.1.5遍历数组
3.1.6数组中新增元素
3.1.7数组案例
3.2函数
3.2.1为什么要有函数
3.2.2什么是函数
3.2.3函数的声明
3.2.4函数的调用
3.2.5函数的参数
3.2.6函数的返回值
3.2.7arguments的使用
3.2.8匿名函数
3.2.9自调用函数
3.2.10函数的数据类型
3.3作用域
3.3.1全局变量和局部变量
3.3.2块级作用域
3.3.3词法作用域
3.3.4作用域链
3.3.5变量提升
3.3.6预解析
第4章 对象和内置对象
4.1对象
4.1.1为什么要有对象
4.1.2什么是对象
4.1.3JavaScript中的对象
4.1.4对象创建方式
4.1.5属性和方法
4.1.6new关键字
4.1.7this关键字
4.1.8对象操作
4.2基本类型和复杂类型
4.2.1堆和栈
4.2.2值类型在内存中的存储
4.2.3引用类型在内存中的存储
4.2.4将值类型作为函数的参数
4.2.5将引用类型作为函数的参数
4.3内置对象
4.3.1Math对象
4.3.2Date对象
4.3.3Array对象
4.3.4基本包装类型
4.3.5String对象
4.3.6Number对象
4.3.7Boolean对象
第5章 BOM
5.1BOM简介
5.1.1BOM的概念
5.1.2BOM的对象Window
5.2对话框
5.2.1alert()
5.2.2prompt()
5.2.3confirm()
5.3页面加载事件
5.4定时器
5.5Location对象
5.6History对象
5.7Navigator对象
第6章 DOM和事件
6.1DOM
6.1.1DOM的概念
6.1.2模拟文档树结构
6.1.3获取DOM元素
6.2事件
6.3属性操作
6.3.1非表单元素属性
6.3.2innerText、textContent
6.3.3innerHTML和innerText的区别
6.3.4表单元素属性
6.3.5自定义属性操作
6.3.6样式操作
6.3.7类名操作
6.3.8创建元素的三种方式
6.4节点操作
6.4.1节点的基本操作
6.4.2节点属性操作
6.4.3节点层级
6.5事件详解
6.5.1注册/移除事件的三种方式
6.5.2事件冒泡
6.5.3事件的三个阶段
6.5.4事件对象的属性和方法
6.6偏移量
6.6.1获取元素:offset系列
6.6.2可视区域:client系列
6.6.3滚动偏移:scroll系列
6.7综合案例
6.7.1轮播图
6.7.2固定导航栏
6.7.3导航栏特效
第7章 JavaScript面向对象编程
7.1面向对象简介
7.2创建对象的方式
7.2.1以字面量的方式创建对象
7.2.2通过调用系统的构造函数来创建对象
7.2.3通过自定义构造函数来创建对象
7.2.4以工厂模式创建对象
7.2.5工厂模式和自定义构造函数创建对象的区别
7.2.6构造函数和对象的关系
7.3原型的引入
7.4面向过程和面向对象
7.5构造函数、原型对象、实例对象之间的关系
7.6利用原型共享数据
7.6.1原型的简单语法
7.6.2原型中的方法使用
7.6.3内置对象的原型方法
7.6.4把局部变量变成全局变量
7.7原型及原型链
7.7.1原型指向可以改变
7.7.2实例对象属性和原型对象属性重名问题
7.7.3通过一个HTML的元素对象来查看原型链
7.8实现继承
7.8.1原型实现继承
7.8.2构造函数实现继承
7.8.3组合继承
7.8.4拷贝继承
第8章 函数进阶和其他
8.1函数的定义方式
8.2函数的调用方式
8.2.1函数内this指向的不同场景
8.2.2严格模式
8.2.3函数也是对象
8.2.4数组中函数的调用
8.2.5apply和call调用
8.2.6bind方法
8.2.7call、apply和bind的区别
8.3函数中自带的属性
8.4将函数作为参数使用
8.5将函数作为返回值使用
8.6作用域和作用域链
8.7闭包
8.8沙箱模式
8.9递归
8.10浅拷贝和深拷贝
8.11递归案例
8.11.1遍历DOM树
8.11.2生成菜单导航
8.12伪数组和数组
8.13JavaScript垃圾回收机制
8.13.1可访问性
8.13.2一个简单的示例
8.13.3两个引用
8.13.4相互引用的对象
8.13.5孤岛
8.13.6内部算法
第9章 正则表达式
9.1正则表达式简介
9.1.1正则表达式的概念
9.1.2正则表达式的作用
9.1.3正则表达式的特点
9.1.4正则表达式的组成
9.1.5常用案例
9.1.6如何验证正则表达式的正确性
9.2在JavaScript中使用正则表达式
9.2.1创建正则对象
9.2.2正则匹配
9.2.3正则提取
9.2.4正则替换
9.3正则表达式使用案例
9.3.1密码强度验证
9.3.2表单验证
第10章 贪吃蛇案例
10.1案例介绍
10.2实现步骤
10.2.1画地图和操作按钮
10.2.2封装食物对象
10.2.3封装小蛇对象
10.2.4封装游戏对象
10.2.5游戏调用
第11章 ES6~ES10新特性
11.1ES6新特性
11.1.1箭头函数
11.1.2const和let
11.1.3模板字符串
11.1.4函数的参数默认值
11.1.5延展操作符
11.1.6对象解构
11.1.7for-of和for-in
11.1.8对象属性简写
11.1.9Promise
11.1.10class
11.1.11模块化
11.2ES7新特性
11.2.1Array.prototype.includes()
11.2.2指数操作符**
11.3ES8新特性
11.3.1async和await
11.3.2Object.values/Object.entries
11.3.3padStart和padEnd
11.4ES9新特性
11.4.1forawait-of
11.4.2ObjectRestSpread
11.4.3Promise.prototype.finally()
11.4.4新的正则表达式特性
11.5ES10新特性
11.5.1Array.prototype.flat()
11.5.2Array.prototype.flatMap()
11.5.3String.trimStart和String.trimEnd
11.5.4String.prototype.matchAll
11.5.5修改catch绑定
11.5.6新的基本数据类型BigInt
11.5.7Object.fromEntries()
11.5.8Symbol.prototype.description
11.5.9Function.prototype.toString()
第12章 TypeScript
12.1TypeScript简介
12.1.1安装TypeScript
12.1.2开始我们的个TypeScript程序
12.1.3类型注解
12.1.4接口
12.1.5类
12.2TypeScript基础类型
12.2.1元组
12.2.2枚举
12.2.3任意值
12.2.4空值
12.2.5null和undefined
12.2.6never
12.2.7类型断言
12.3总结
1.学员学习完毕,经考核成绩合格,零点起航学校颁发培训证书。
2.学员可以参加教育部组织和实施的“Web程序设计(二级)”考试,获取国家级证书。