
常见面试题
白桃味稠鱼烧
这个作者很懒,什么都没留下…
展开
-
对不同格式的数据实现深拷贝
不论传递的数据是什么格式的,都能实现深拷贝效果,不必拘泥于传参格式需要是数组或对象形式let obj = { a: 1, b: '2', c: undefined, d: null, e: true, f: ['q', 'w', 'e', 'r'], g: { z: 'zz', x: 'xx', c: ['cc', 'vv', 'nn'] }}function clone(obj) { let objData if (typeof obj == 'number.原创 2020-07-05 14:19:16 · 838 阅读 · 0 评论 -
var a={n:1}; var b=a; a.x=a={n:2}; console.log(a.x); console.log(b.x);
参考链接点这里运算符优先级点这里转载 2020-07-02 15:09:58 · 749 阅读 · 0 评论 -
js实现异步编程
说道异步问题,可能最常见的就是一下几种1、使用 callback 回调函数2、使用 事件监听机制3、使用 发布/订阅模式4、使用 Promise 异步5、使用 async/await 实现异步剩下的还有:6、envent loop 事件队列实现异步操作7、defer 通过给脚本文件添加defer 属性,实现异步callbackcallback应该是最熟悉的异步操作了,毕竟在没有这么丰富的异步方法之前,我们都是在回调地狱里面苦苦挣扎的。callback其实就是将某.原创 2020-08-27 13:47:33 · 313 阅读 · 0 评论 -
重绘和回流及其优化
重绘和回流是在浏览器内部发生的,所以在了解什么是重绘和回流之前,我们需要了解浏览器渲染页面的步骤,以此引出重绘和回流的概念。浏览器渲染机制浏览器采用流式布局模型(Flow Based Layout) 浏览器会把HTML解析成DOM,把CSS解析成CSSOM,DOM和CSSOM合并就产生了渲染树(Render Tree)。 有了RenderTree,我们就知道了所有节点的样式,然后计算他们在页面上的大小和位置,最后把节点绘制到页面上。 由于浏览器使用流式布局,对Render Tree的计算通原创 2020-07-01 13:48:14 · 209 阅读 · 0 评论