摘要:换个说法微任务优先于当前调用栈产生的宏任务被执行如果能理解下面这段代码的执行过程应该就基本理解任务队列的执行过程了输出顺序为,,,,,, 这篇文章是我自己的一个学习总结,并不是非常详细,结合给出的链接可以有更细致的认识 先介绍几个概念,便于理解 关于堆和栈(作为内存区域来说) 堆(heap):存放object、array、function等不确定内存大小的数据存储; 栈(stac...
摘要:声明是模仿面向对象语言提出的定义类的方法。抽象类的基本原则是在内存中只有基类成员的一份拷贝。但是面向对象设计要求我们把共性放在一起以减少代码,因此就有了抽象类。 class声明 class 是 ES6 模仿面向对象语言(C++, Java)提出的定义类的方法。形式类似 C++ 和 Java (各取所长), 下面例子展示了 class 是如何定义构造函数、对象属性和对象动/静态方法的: ...
摘要:用实现职责链这里使用变量存储上一个函数,存储的是最后一个调用返回的函数。理解了过程也就会知道这句代码是为后面的函数准备的建议如果某块功能中存在大量的可以考虑使用职责链模式 职责链模式 1. 职责链定义 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将对象连成一条链,并沿着这个链传递该请求,直到有一个对象处理它为止 2.职责链优点 请求发送者只需要知道链中的第一...
摘要:冒泡排序原理冒泡排序的过程就是将数组中相邻的两个元素进行比较,如果前面的元素比后面的元素要大交换位置,否则位置不变举个栗子有数组第一轮循环和比较,小于两者位置不变,接下来和比较,大于,两者交换位置,接着和比较,两者交换位置,继续和比较两者交 1.冒泡排序 原理:冒泡排序的过程就是将数组中相邻的两个元素进行比较,如果前面的元素比后面的元素要大交换位置,否则位置不变;举个栗子:有数组 ar...
摘要:的分号是可省略的,因为会自动填补分号,但只有在遇到因为省略分号而无法解析的语句时,才会自动填补分号。例如有两种情况例外后接换行号会填补分号。例如建议加分号的原因避免代码执行效果不如意。可以提高性能,因为解析器不用花时间去推测哪里应该加分号。 JavaScript 的分号是可省略的,因为 JavaScript 会自动填补分号,但只有在 JavaScript 遇到因为省略分号而无法解析的语...