一、基本概念
JavaScript是一种解释型、面向对象的脚本语言,广泛应用于Web开发领域。它可以实现客户端脚本编程,也可用于服务器端编程(Node.js)。JavaScript具有动态类型、弱类型和基于原型的继承等特点。
二、数据类型与变量
1. 原始数据类型:Number、String、Boolean、Null、Undefined
2. 引用数据类型:Object、Array、Function
3. 变量声明:var、let、const(ES6新增)
4. 作用域:全局作用域、局部作用域(函数作用域、块级作用域)
三、运算符与表达式
1. 算术运算符:+、-、*、/、%、++、--
2. 比较运算符:==、===、!=、!==、>、<、>=、<=
3. 逻辑运算符:&&、||、!
4. 赋值运算符:=、+=、-=、*=、/=、%=
5. 条件表达式:三元运算符(? :)
6. 字符串拼接:+
7. 表达式求值:eval()
四、控制结构
1. 条件语句:if、else if、else、switch、case、default
2. 循环语句:for、while、do while、for...of、for...in
3. 跳转语句:break、continue、return
五、函数与数组
1. 函数定义:function、箭头函数(=>)
2. 函数参数:形参、实参、arguments对象
3. 函数返回值:return语句
4. 数组定义:Array构造函数、数组字面量[]
5. 数组方法:push()、pop()、shift()、unshift()、splice()、slice()、concat()、join()、indexOf()、lastIndexOf()、forEach()、map()、filter()、some()、every()
六、DOM操作与事件处理
1. DOM树结构:Document、Element、Node
2. DOM节点操作:createElement()、createTextNode()、appendChild()、removeChild()、replaceChild()、cloneNode()
3. DOM属性操作:getAttribute()、setAttribute()、hasAttribute()、removeAttribute()
4. DOM事件模型:事件监听器(addEventListener()、removeEventListener())、事件冒泡与捕获
5. 常用事件:click、mouseover、mouseout、keydown、keyup、keypress、load、unload、resize、scroll
七、Ajax与JSON
1. Ajax技术:XMLHttpRequest对象、GET请求、POST请求、异步通信原理
2. JSON数据格式:键值对表示、对象表示、数组表示、字符串解析与序列化(JSON.stringify()、JSON.parse())
八、ES6+新特性
1. 类与继承:class、extends、super
2. 模块与导入导出:import、export、* as、export default
3. 箭头函数:=> 语法糖函数体与返回值简写形式
4. 解构赋值:解构数组与对象、剩余参数与展开操作符(...)、rest参数与展开操作符(...)
5. Set与Map数据结构:Set存储唯一无重复值集合、Map存储键值对集合
6. Promise对象与async/await异步编程解决方案:Promise代表一个最终可能完成或失败的异步操作并返回结果值。async/await语法允许将异步代码以同步代码的方式编写。
7. Proxy代理对象:Proxy用于定义基本操作的自定义行为,如属性查找、赋值、枚举、函数调用等。
8. Reflect反射对象:Reflect提供了一种机制来观察和修改对象的行为,它是一个内置对象,不能被实例化。Reflect的方法与Proxy的trap方法映射对应。