2019年3月15日

摘要: 之前在红宝石里面看到过,但是用的很少。后来又在高性能里面见到,刚刚一查,结果vue里面也用了文档片段。看来自己还是太忽略这玩意儿的作用了。 还是写个文章来了解一下。 想象一个场景,我创建一个新元素,然后把它appendChild到文档中。看起来好像没什么问题,如果需要创建100个元素呢?1000个? 阅读全文

posted @ 2019-03-15 17:14 xxxxxxxx 阅读(155) 评论(0) 推荐(0)

摘要: 这样写会访问两次dom节点树,一次读取innerHTML,一次重写innerHTML。 当然,加载速度也是很惊人的。 用一个变量把a存起来,只读取和重写innerHTML一次。 可以看到加载时间大幅度减少。 所以说减少访问dom节点数的访问次数对提高代码运行速度是非常有帮助的。 阅读全文

posted @ 2019-03-15 15:27 xxxxxxxx 阅读(126) 评论(0) 推荐(0)

摘要: 一般apply()、call()和bind()会一起比较。 他们三个都是改变this对象指向的方法。 apply()和cal()方法是会立即执行,apply把参数作为数组,call方法接收一个一个的参数。 bind()就是绑定,会返回函数。 这是我之前的理解,太不深刻了。 比如说MDN上的这个例子: 阅读全文

posted @ 2019-03-15 13:44 xxxxxxxx 阅读(137) 评论(0) 推荐(0)

摘要: 其实事件循环Event loop的概念不难,难点在于你能判断事件的执行顺序。 还是先说说概念吧。我的理解的是JS里面事件分为宏任务和微任务,宏任务先于微任务执行。宏任务就是整段的script啊setTimeout啊setInterval这些,微任务是Promis.then方法这些。 同时任务还可以分 阅读全文

posted @ 2019-03-15 12:27 xxxxxxxx 阅读(176) 评论(0) 推荐(0)

摘要: 今天开始写总结,不管布局不管排版,学到什么就写什么,重在坚持,周末闲暇时间可以完整的整理下! 今天遇到的问题:1.如何实现吸顶效果2.dns解析过程3.babel原理4.webpack打包过程5.ES6新数组方法6.map()映射不改变原数组的值 foreach去玩一下7.vue里面的watcher 阅读全文

posted @ 2019-03-15 00:17 xxxxxxxx 阅读(111) 评论(0) 推荐(0)