一.编程语言
1.1编程
1.2计算机语言
1.4翻译器
1.5编程语言和标记语言的区别
二.计算机基础
2.1计算机组成
2.2数据存储
2.3数据存储单位
2.4程序运行
三.初识JavaScript
1.2JavaScript是什么
1.3JS的作用
1.4HTML、CSS、JS的联系
1.5浏览器执行JS
JS:高级程序语言,看到一行解析一行
1.6JS的组成
1.7JS初体验
1.行内式JS
2.内嵌JS
3.外部JS
四.JS注释
单行:ctrl+/
多行:shift+alt+a
五.JS输入输出语句
六.变量
1.变量概述
1.1什么是变量
1.2变量在内存中存储
1.3变量的使用
1.声明变量
2.赋值
3.变量初始化
var myname = 'LXY'
4.案例1:变量的使用
5.案例2:弹出用户名
1.4变量语法扩展
1.更新变量
2.同时声明多个变量
3.声明变量的特殊情况
1.5变量命名规范
1.案例:课堂练习
1.6小结
七.数据类型
1.数据类型简介
1.1为什么需要数据类型
1.2变量的数据类型
2.数据类型的分类
2.1简单数据类型
2.2数字型
1.数字型进制
2.数字型范围
3.数字型三个特殊值
4.isNaN()
2.3字符串型string
1.字符串引号嵌套
2.字符串转义符
案例:弹出网页警示框
3.字符串长度
4.字符串的拼接
5.字符串拼接加强
案例:显示年龄
2.4布尔型boolean
2.5undefined和null
3.获取变量数据类型
3.1获取检测变量的数据类型
typeof 在代码中查看
3.2字面量
4.数据类型转换
4.1什么是数据类型转换
4.2转换为字符串
4.3转换为数字型
案例1:计算年龄
案例2:简单加法器
4.4转换为布尔型
5.扩展阅读之编译和解释语言区别
1.标识符、关键字、保留字
1.标识符
2.关键字
3.保留字
八.JavaScript运算符
1.运算符
2.算数运算符
2.1算术运算符概述
2.2浮点数精度问题
2.3课堂提问
2.4表达式和返回值
3.递增和递减运算符
3.1递增和递减运算符概述
1.前置递增运算符
2.后置运算符
3.2前置递增和后置递增小结
4.比较运算符
4.1=小结
5.逻辑运算符
5.1逻辑运算符概述
5.2逻辑与&&
5.3逻辑或
5.4逻辑非
5.5短路运算(逻辑中断)
1.逻辑与
2.逻辑或
注意:这里会有影响,或运算只执行到123 后面没执行,所以num还是0
6.赋值运算符
7.运算符优先级
九.JS流程控制-分支
1.流程控制
2.顺序流程控制
3.分支流程控制-if语句
3.1分支结构
3.2if语句
1.语法结构
2.执行流程
3.案例:进入网吧
3.3if-else语句(双分支语句)
1.语法结构
2.执行流程
3.案例:判断闰年
3.4if-else-if语句(多分支语句)
1.语法结构
2.执行流程
3.案例:判断成绩级别
4.三元表达式
案例:数字补0
5.swich语句
5.1语法结构
案例:查询水果
5.2switch跟if-else-if的区别
十.JS流程控制-循环
1.循环
2.for循环
2.1语法结构
断点调试
2.2for循环重复相同的代码
2.3for循环重复不同代码
2.4for循环重复某些相同操作
案例1:1-100累加
案例2:求学生成绩
3.双重for循环
3.1双重for循环概述
案例:打印五行五列星星
案例:n行n列星星
案例:打印倒三角
案例:九九乘法表
3.2for循环小结
4.while循环
案例:
5.do while循环
案例:
循环小结:
6.continue和break
6.1continue关键字
6.2break关键字
7.js中的命名规范和语法格式
1.标识符
2.操作符
3.单行注释
4.其他
十一.JS之数组
1.数组的概念
2.创建数组
2.1数组的创建方式
2.2利用new创建数组
2.3利用数组字面量来创建数组
2.4数组元素的类型
3.获取数组中的元素
3.1数组的索引
4.遍历数组
4.1数组的长度
案例:数组求和及平均
案例:数组最大值
案例:数组转化为分割字符串
5.数组新增元素
5.1修改length长度
5.2修改数组索引
案例:数组新增元素
案例:筛选数组
5.3数组案例时间
1.案例1:删除指定数组元素
2.案例2:翻转数组
3.案例:数组排序(冒泡排序)
十二.JS函数
1.函数的概念
2.函数的使用
2.1声明函数
2.2调用函数
2.3函数的封装
案例:1-100求和用函数
3.函数的参数
3.1形参和实参
3.2函数形参实参个数不匹配问题
3.3小结
4.函数的返回值
4.1return语句
案例1:函数求任意两个数最大值
案例2:函数求任意一个数组中最大值
4.2return终止函数
4.3函数没有return返回undefined
4.4break,continue,return的区别
5.arguments的使用
案例:利用函数求任意数的最大值
6.函数案例
1.案例1:函数封装翻转任意一个数组
2.案例2:函数封装冒泡排序
3.案例3:函数判断闰年
4.函数可以调用另外一个函数
5.案例4:用户输入年份,显示当前年份2月的天数
7.函数的两种声明方式
十三.JS作用域
1.作用域
1.1作用域概述
1.2js没有块级作用域
2.变量的作用域
2.1变量作用域的分类
2.2全局变量
2.3局部变量
2.4全局变量和局部变量的区别
3.作用域链
1.案例1:结果是几?
案例2:结果是几
十四.JS预解析
1.预解析
案例:预解析案例
注意:
十五.JS对象
1.对象
1.1什么是对象
一个具体的事物!!!
1.2为什么需要对象
2.创建对象的三种方式
2.1利用字面量创建对象
变量、函数、属性、方法总结
2.2利用new object来创建对象
var obj = new Object();
注意:O一定要大写
2.3利用构造函数来创建对象
2.4构造函数和对象
3.new关键字
4.遍历对象属性
5.小结
6.作业
十六.JS内置对象
1.内置对象
2.查文档
2.1MDN
2.2如何学习对象中的方法
3.Math对象
查MDN文档即可
案例:封装自己的数学对象
3.1Math概述
3.2随机数方法radom()
案例:猜数字游戏
4.日期对象
4.1Date概述
4.2Date()方法的使用
1.获取当前时间必须实例化
4.3日期格式化
4.4获取日期的总的毫秒形式
案例:倒计时活动
5.数组对象
5.1数组对象的创建
5.2检测是否为数组
instanceof
Array.isArray(参数)
5.3添加删除数组元素的方法
案例:筛选数组
5.4数组排序
5.5数组索引方法
案例:数组去重(重点)
5.6数组转换为字符串
5.7课下查询
6.字符串对象
6.1基本包装类型
6.2字符串的不可变
6.3根据字符返回位置
案例:返回字符位置
6.4根据位置返回字符(重点)
案例:返回字符位置
6.5字符串操作方法(重点)
6.6课下查阅
十七.简单数据类型和复杂数据类型
1.简单类型和复杂类型
2.堆和栈
3.简单类型的内存分配
4.复杂数据类型的内存分配
5.简单类型传参
6.复杂类型传参
第二阶段webapis
一.web APIs
1.Web APIs 和 JS基础关联性
1.1JS的组成
1.2JS基础阶段以及Web APIs阶段
2.API和Web API
2.1API
2.2web API
2.3API和web API总结
二.DOM
1.DOM简介
1.1什么是DOM
1.2DOM树
2.获取元素
2.1如何获取页面元素
2.2根据ID获取
2.3根据标签名来获取
2.4h5新增方法获取
2.5获取特殊元素(body,html)
3.事件基础
3.1事件概述
3.2执行事件的步骤
3.3常见的鼠标事件
3.4分析事件三要素
4.操作元素
4.1改变元素内容
4.2常用元素的属性操作
案例:分时问候案例
4.3表单元素的属性操作
案例:仿京东显示隐藏密码明文
4.4样式属性操作
案例:淘宝点击关闭二维码
案例:循环精灵图背景
案例:显示隐藏文本框内容
案例:密码框格式提示错误信息
4.5操作元素总结
4.5排他思想
案例:百度换肤
案例:表格隔行变色
4.6自定义属性的操作
1.获取属性值
2.设置属性值
3.移除属性
removeAttribute('属性')
案例:tab栏切换(重点案例)
4.7h5自定义属性
5.节点操作
5.1为什么学节点操作
5.2节点概述
5.3节点层级
1.父级节点
2.子节点
--子节点之获取第一个和最后一个节点
案例:下拉菜单
3.兄弟节点
注:还是有兼容问题,ie9以上才能使用
5.4创建节点
5.5添加节点
案例:简单版发布留言案例
5.6删除节点
案例:删除留言
5.7复制节点(克隆节点)
案例:动态生成表格
5.8三种动态创建元素的区别
6.DOM重点核心
6.1创建
6.2增
6.3删
6.4改
6.5查
6.6属性操作
6.7事件操作
三.事件高级
1.注册事件(绑定事件)
1.1注册事件概述
1.2addeventlistener 事件监听方式
1.3attachEvent事件监听方式
兼容性问题处理: