Es6
ES6是js的规范,比如jdk8是java的规范
vscode新建HTML文件,shift+!回车,快速生产HTML的模板
let 与 const
1.let不会作用到{}外,var会越域跳到{}外
2.var可以多次声明同一变量,let会报错
3.var定义之前可以使用,let定义之前不可使用。(变量提升问题)
const
1. const声明之后不允许改变,一但声明必须初始化,否则会报错
解构表达式
1.数组解析
2.对象解析
字符串扩展
//字符串模板 “可以定义多行字符串 (直接输出HTML)(“ 在键盘左上角 esc 下面)
变量名写在 ${}
函数优化
1.支持函数形参默认值 function add2(a, b = 1)
2.支持不定参数 function fun(...values)
3.支持箭头函数 var print = obj => console.log(obj);
对象优化
1.可以获取map的键值对等Object.keys()
、values、entries
2.Object.assgn(target,source1,source2) 合并
3.如果属性名和属性值的变量名相同,可以省略const person2 = { age, name }
代表age属性的值是变量age的值
4.对象的函数属性简写
5.对象拓展运算符 使用“…p1”为拷贝p1对象
map和reduce
map()
:接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回。
reduce()
为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,
更多可以参考博客:https://blog.csdn.net/seimeii/article/details/121614775
- 1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
2、currentValue (数组中当前被处理的元素)
3、index (当前元素在数组中的索引)
4、array (调用 reduce 的数组)


promise
优化异步操作。封装ajax
user.json
user_corse_1.json
corse_score_10.json
场景:请求user得到id为1,继续请求user_corse_1(user_corse_{id}),得到id为10,继续请求corse_score_10
以往的Ajax嵌套写法
Promise可以封装异步操作
更简洁的整合方法
模块化import/export
- export用于规定模块的对外接口
- import用于导入其他模块提供的功能
user.js 导出name和age和方法add
main.js 导入刚刚导入的变量和对象
如果导出一个未命名的方法 如下,那么导入的时候可以重命名import abc from "./xxx.js"