性能、打包题目

前端性能优化

页面DOM节点太多,会出现什么问题?如何优化?

DOM太多会造成页面加载卡顿,

  • 操作DOM节点
  1. 在外部更新节点然后与原始节点互换
    使用cloneNode在外部更新节点然后在通过replace替换
var orig = document.getElementById('cont');
var clone = orig.cloneNode(true)
var list = ['a','b'];
var content;
for(var i = 0;i<list.length;i++){
    content = document.createTextNode(list[i]);
    clone.appendChild(content);
}
orig.parentNode.replaceChild(clone,orig)

  1. 在对DOM操作之前,把要操作的元素,先从当前DOM结构中删除,设置元素display: none
  2. DOM的多个读写操作,应该放在一起,并且不要在两个读操作之间加入一个写操作
  • 新增DOM节点
  1. 在对当前DOM进行操作之前,尽可能多的做一些准备工作,保证N次创建,1次写入。优化的方法是创建DocumentFragment,在其中插入节点后再添加到页面。如JQuery中所有的添加节点的操作如append,都是最终调用DocumentFragment来实现的

  2. 添加结构外的元素尽量设置他们的位置为fixed或absolute

  3. 不要一条条的改变样式,而要通过改变class或者csstext属性,一次性改变样式

  4. 减少DOM元素数量,正面页面应小于1000

document.getElementsByTagName( '*' ).length
  1. 避免表格布局,重绘重排成本要高于div
  2. 把获取的DOM数据缓存起来
el.className += "theclassname";
el.style.cssText += ";left:" + left + "px;top:" + top + "px"

如何做性能监测

SEO和语义化

这个没被问过

微信小程序

微信小程序和h5差异,如果有开发weex的经验,可能会加上weex

git

一些基本命令

打包工具webpack

1、打包原理
2、打包插件
3、webpack热更新原理
4、优化构建速度

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 关于前端性能优化问题详解 出处:http://segmentfault.com/blogs 前端性能优化指南 AJ...
    bennnnn阅读 1,685评论 2 4
  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 3,820评论 0 7
  • 一:什么是闭包?闭包的用处? (1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就 是将函数内部和函数外...
    xuguibin阅读 10,002评论 1 52
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,659评论 0 7
  • 在MySQL最流行的支持全事务的引擎为INNODB。其特点是数据本身是用B-TREE来组织,数据本身即是庞大的根据...
    jaymz明阅读 2,080评论 0 2

友情链接更多精彩内容