![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascrpit
文章平均质量分 70
流云望风
逆水行舟,不进则退,壁立千仞,无欲则刚。天道酬勤
展开
-
自动生成文章目录导航及目录相关UI -- 算法解析-- 原生jq实现
文章目录有关 先上git地址,README完整,有需自取https://github.com/xxx407410849/AutoCatelog 求星哦 自动生成文章目录的基本原理是对所选容器里的所有子节点进行遍历,得到H1 - H6的标签序列,再在顺序结构的基础上创建(模拟)出一棵树,因为默认大标题包含小标题的条目(如H1 H2,则H1包含H2的条目),所以在这棵树上必不存在HX->HN...原创 2018-08-06 02:45:13 · 3051 阅读 · 1 评论 -
有关闭包的经典问题
function a(){ var aa = 100; this.adda = function(){ aa++; console.log(aa); } } var c = new a(); c.adda(); 众所周知,这是一个闭包,原因是因为adda()函数调用并修改了不属于他作用域里的aa变量,最后输出的是101 这段代码还可以写...原创 2018-08-16 23:13:08 · 296 阅读 · 0 评论 -
ES6中let的实现方式 -- 优雅而又花式闭包处理
接上文 https://blog.csdn.net/u012312705/article/details/81749777 (有关闭包的经典问题) 想要处理不想要发生的闭包,最简单的方式就是let啦 以setTimeout形成的闭包为例 for(let i = 0 ; i < 10 ; i++){ setTimeout(()=>{ console.log...原创 2018-08-17 00:02:41 · 1963 阅读 · 0 评论 -
自行整理面试知识(JS篇)(一)
AMD CMD CommonJS AMD是来自于require.js的对模块化的定义 CMD是来自于sea.js的对模块化的定义 Commonjs是来自于Nodejs的对模块化的规范 AMD讲求依赖关系前置,即在定义模块的之前要求其先声明依赖的模块 CMD讲求依赖就近,即随用随声明即可。 前者实际上是为了能异步加载模块所进行的模块化定义,所以前者的用户体验会比较好。 后者放松了A...原创 2018-11-05 18:06:35 · 178 阅读 · 0 评论 -
自行整理面试知识(JS篇)(二)
继承 原型链继承: 将子类的原型(prototype)连接到父类的实例,将子类的原始对象替换为父类的实例,从而拿到父类的所有方法和属性 不支持多重继承,因为prototype很明显会被新的父类替换 其次,创建子类实例的时候,无法向父类构造函数传递参数 同时,来自原型对象的引用属性是所有子类共享的,因为原型链向上寻找的时候共享了父类的实例 这显然不符合继承的原则 构造继承: 用c...原创 2018-11-05 18:06:45 · 203 阅读 · 0 评论 -
自行整理面试知识(JS篇)(三) [算法篇]
严格模式 主要的改变就是不允许其删除不能删除的属性,也不允许删除变量和函数,不能对只读的属性赋值,不能使用转义字符,不能重复定义,不能不定义(以前不定义的话会被绑到全局window上),不能把this绑到全局对象上,不允许使用with,保留eval和argument的关键字 作用就是为以后的js规范化做好铺垫,同时消除js中一些不合理的地方,提高编译器的效率(等于是用复杂一点的开发过程换了...原创 2018-11-05 18:06:51 · 256 阅读 · 0 评论 -
自行整理面试知识(JS篇)(四)[算法篇2]
数组插值 大致就是如果一个值在两个值中间,则他跟这两个值的差值要不然是异号的,要不然就是为0的,用这种方式可以无视排序的逆序或者正序,注意剪枝、 let a = [1,2,4,5,6,9,10,13]; const insertNum = (array,num) =&amp;gt; { //剪枝 let idx = insertNumInde...原创 2018-11-05 18:04:58 · 184 阅读 · 0 评论 -
自行整理面试知识(JS篇)(五)[算法篇3]
这一次是来自牛客上面经看到的面试算法 位图转时间 将一串字符串转换为时间序列, 样例: 110000010000000000000000000000000000000000000000即输出 [“00:00-01:00”,”03:30-04:00”] 110000010000000000000000000000000000000000000001即输出 [“00:00-01:...原创 2018-11-05 18:05:14 · 168 阅读 · 0 评论