Isaac's Blog

学习、研究 IT 知识,分享技术经验和见解

为可以大概了解作用域链是个什么东西,本文着重说明作用域链,尽量不引入其他的概念。

为什么要写散列表(Hash Table)?!因为忘记,就算以前在大学的时候学得多好,分数考多高。成了前端狗之后一方面是自己对自己不够严格,另一方面工作方面也是用得少这方面的知识,平时大多都是一群朋友吹牛皮的时候,亮出来吓吓人(也只能说自己记得的部分)。当夜深人静时都会想想自己吹过的牛皮~感叹这些知识自己真的忘得差不多了,三分钟热度来写个文章温故知新!

基本思想

1 在数据集之中,选择一个元素作为”基准”(pivot)。
2 所有小于”基准”的元素,都移到”基准”的左边;所有大于”基准”的元素,都移到”基准”的右边。
3 对”基准”左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。

图:关于图的概念就大概说一下基本的,图分成有向和无向。图由若干顶点构成,顶点相连成边,边由顶点对组成,(假设有v1,v2两顶点,(v1,v2)即为一条边)每个顶点有权重,对于图的概念可以自行Google,本文着重对图的实现,上两张“图”的例子:

  • 函数节流:给定时间间隔内只执行一次

  • 函数防抖:在连续尝试触发的情况,只有触发的时间间隔大于给定时间才会真正触发。

本文系统总结了 JavaScript 六种继承方式的实现原理与核心问题,涵盖原型链继承、借调构造函数继承、组合继承、原型式继承、寄生式继承与寄生组合式继承,并逐一分析各自的优缺点与适用场景。

使用如下例子,说明 filter 作为 html 属性一部分或元素文本一部分的解析,以及 vue 对 filter 解析过程的详细实现。

0%