javascript 链表

摘要: 1 function Node(element) { 2 this.element = element 3 this.next = null 4 } 5 6 function Link() { 7 this.head = new Node('head')... 阅读全文
posted @ 2019-03-08 15:52 时光游弋 阅读(118) 评论(0) 推荐(0) 编辑

哈希表实现id,pid转树形结构

摘要: 1 var source = [{ 2 id: 1, pid: 0, name: 'body'}, { 3 id: 2, pid: 1, name: 'title'}, { 4 id: 3, pid: 1, name: 'div'}, { 5 id: 4, pid: 3, name: 'span'}, { 6 id: 5,... 阅读全文
posted @ 2019-03-05 11:51 时光游弋 阅读(724) 评论(0) 推荐(0) 编辑

css实现每行三个位元素布局

摘要: 1 2 3 4 5 6 7 布局排列 8 24 25 26 27 28 123 29 30 31 1... 阅读全文
posted @ 2019-03-05 11:04 时光游弋 阅读(1036) 评论(0) 推荐(0) 编辑

如何渲染几万条数据并不卡住界面

摘要: 这道题考察了如何在不卡住页面的情况下渲染数据,也就是说不能一次性将几万条都渲染出来,而应该一次渲染部分 DOM,那么就可以通过 requestAnimationFrame 来每 16 ms 刷新一次。 阅读全文
posted @ 2019-03-04 16:07 时光游弋 阅读(213) 评论(0) 推荐(0) 编辑

javascript事件循环

摘要: js引擎遇到一个异步事件后并不会一直等待其返回结果,而是会将这个事件挂起,继续执行执行栈中的其他任务。当一个异步事件返回结果后,js会将这个事件加入与当前执行栈不同的另一个队列,我们称之为事件队列。被放入事件队列不会立刻执行其回调,而是等待当前执行栈中的所有任务都执行完毕, 主线程处于闲置状态时,主 阅读全文
posted @ 2019-03-03 21:19 时光游弋 阅读(124) 评论(0) 推荐(0) 编辑

javascript reduce用法

摘要: (1)计算数组中每个元素出现的次数 (2)数组去重 (3)将二维数组转化为一维 (3)将多维数组转化为一维 阅读全文
posted @ 2019-03-02 20:34 时光游弋 阅读(329) 评论(0) 推荐(0) 编辑

Javascript实现promise

摘要: 1 // 三种状态 2 const PENDING = "pending"; 3 const RESOLVED = "resolved"; 4 const REJECTED = "rejected"; 5 // promise 接收一个函数参数,该函数会立即执行 6 function MyPromise(fn) { 7 let _this = this; 8 ... 阅读全文
posted @ 2019-03-02 19:46 时光游弋 阅读(252) 评论(0) 推荐(0) 编辑

Javascript手写call, apply, bind

摘要: call方法实现 apply方法实现 bind实现 阅读全文
posted @ 2019-03-02 18:19 时光游弋 阅读(169) 评论(0) 推荐(0) 编辑

Javascript已经排好序的数组,如何能快速找出a+b=8的所有组合的下标

摘要: 使用哈希表实现,可以降时间复杂度降到O(n) 阅读全文
posted @ 2019-03-01 15:14 时光游弋 阅读(245) 评论(0) 推荐(0) 编辑

Javascript浅拷贝与深拷贝

摘要: 浅拷贝是指只复制一层对象,当对象的属性是引用类型时,实质复制的是其引用,当引用指向的值改变时也会跟着变化; 深拷贝是指复制对象的所有层级。 1. 浅拷贝 浅拷贝的方法: Object.assign 可见,obj的a属性改变时,不影响obj1中a的改变;但引用类型,b中属性值的改变会同步到obj1。 阅读全文
posted @ 2019-03-01 10:26 时光游弋 阅读(172) 评论(0) 推荐(0) 编辑