1.什么是class类
1.class 的本质是 function。
2.不可重复声明。
3.类定义不会被提升,这意味着,必须在访问前对类进行定义,否则就会报错。
4.类中方法不需要 function 关键字。
5.方法间不能加分号。
命名类:let Example = class Example{}
匿名类:let Examples = class{}
触发class类方法,实例化一个新的class类
<script>
//公共属性
Example.prototype.id = 99;
var exa = new Example();
console.log(exa.id); //打印99
</script>
2.什么是class继承
super()特性在extends继承中
1.子类 constructor 方法中必须有 super ,且必须出现在 this 之前
2.调用父类构造函数,只能出现在子类的constructor构造函数
3.调用父类方法, super 作为对象,在普通方法中,指向父类的prototype原型对象,
在子类静态方法中拿取父类静态方法的值,在静态方法中,指向父类
3.什么是同步任务?什么是异步任务
同步任务:在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务
异步:不进入主线程、而进入"任务队列"(task queue)的任务,只有"任务队列"通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行
4.什么是宏任务?什么是微任务?有什么特性?
宏任务有哪些:script(整体代码), setTimeout, setInterval,
微任务有哪些:process.nextTick, Promise,
1.宏任务和微任务的任务队列都可以有多个
2.当前执行栈执行完毕时会立刻先处理所有微任务队列中的事件,然后再去宏任务队列中取出一个事件。同一次事件循环中,微任务永远在宏任务之前执行。
3.不同的运行环境 循环策略可能有不同,这里探讨chrome、node环境
5.导入导出的所有方式
导入
第一种
// import {userName,age} from “./day28.js”
第二种
import {userName as aaa} from “./day28.js”
第三种
import abc from “./day28.js”
第四种
import * as abc from “./day28.js”
导出
第一种
export {userName,age}
第二种
export {userName as names}
第三种 export default userName;