Xiaosa's Blog

不如去码头整点薯条

内存相关

https://www.zhihu.com/question/482433315/answer/2083349992 注意点: 内存泄露的情况 数据引用, 全局变量, 闭包 递归调用 -> 尾递归 : 函数调用应该放在最后一步去执行,并且不管返回什么东东,都得有返回( return )。这样的话,...

枚举与非枚举


前端生成二维码并下载

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 import QRCode from 'qrcode' /** * @param {String} url qrcode content * @param {String} name qrco...

从redux到发布订阅模式

redux 基本概念 Store 人如其名,Store就是一个仓库,它存储了所有的状态(State),还提供了一些操作他的API,我们后续的操作其实都是在操作这个仓库。假如我们的仓库是用来放牛奶的,初始情况下,我们的仓库里面一箱牛奶都没有。那Store的状态(State)就是: { milk: 0 } Actions 一个Action就是一个动作,这个动作的目的是更改Store...

React常见知识点

diff 把树形结构按照层级分解,只比较同级元素。 给列表结构的每个单元添加唯一的 key 属性,方便比较。 React 只会匹配相同 class 的 component(这里面的 class 指的是组件的名字) 合并操作,调用 component 的 setState 方法的时候, React 将其标记为 dirty.到每一个事件循环结束, React 检查所有标记 dirty 的 co...

Nodejs与express

Node 与浏览器的 Event Loop 差异 浏览器环境下,microtask 的任务队列是每个 macrotask 执行完之后执行。而在 Node.js 中,microtask 会在事件循环的各个阶段之间执行,也就是一个阶段执行完毕,就会去执行 microtask 队列的任务。

Nodejs

Node 与浏览器的 Event Loop 差异 浏览器环境下,microtask 的任务队列是每个 macrotask 执行完之后执行。而在 Node.js 中,microtask 会在事件循环的各个阶段之间执行,也就是一个阶段执行完毕,就会去执行 microtask 队列的任务。

For循环内的settimeout

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // 错误 for (var i = 0; i < 10; i++) { setInterval(function(){ console.log(i); },interval); } /** *setInterval是异步的,等到到达执行的时间的时候...

关于继承

组合继承 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 function Parent(name) { this.name = name; // 实例基本属性 (该属性,强调私有,不共享) this.arr = [1]; // (该属性,强...

关于原型链

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 function Foo (params) { return {} } console.log(Foo.prototype.constructor === Foo); // true let a = new Foo() a.constructor === Foo // tr...