关于web前端性能优化总结[通俗易懂]

关于web前端性能优化总结[通俗易懂]1、从DOM结构和标签上来优化·使用语义化的标签,代码清晰简洁;·减少Dom节点,增加渲染速度;·使用W3C标准书写闭合小写的标签;·给图片和table指定宽高,避免缩放;·防止src和href值为空,当为空时,浏览器会把当前页面当做属性值重新加载;·css在头部位置,js在body底部位置; 2、从CSS样式上来优化·使用link加载样式而不是@import(是css2提供的一种方式,不兼容,只…

大家好,又见面了,我是你们的朋友全栈君。

1、从DOM结构和标签上来优化


·使用语义化的标签,代码清晰简洁;

·减少Dom节点,增加渲染速度;

·使用W3C标准书写闭合小写的标签;

·给图片和table指定宽高,避免缩放;

·防止src和href值为空,当为空时,浏览器会把当前页面当做属性值重新加载;

·css在头部位置,js在body底部位置;

 

2、从CSS样式上来优化


·使用link加载样式而不是@import(是css2提供的一种方式,不兼容,只能加载css,而且页面所有组件被加载完后才会被加载,完成前会导致‘闪烁’,link属于XHTML标签,没有兼容问题);

·避免使用css表达式;

·避免使用css filter滤镜;

·使用css 缩写 如#fff,减少代码量;

·删除重复的css,css简化;

·使用CSS Sprite把同类图片合成一张,减少图片http请求;

·减少css查询层级,如.header .log 要好于.header .top .log;

·减少css查询范围,如header>div获取直系子元素要好于heade div;

·避免TAG标签与CLASS或ID并存:如a.top、button#submit;


3、从js上来优化


·js尽量少用全局变量;

·多个js变量声明合并;

·不使用eval函数,不安全,性能消耗严重

·使用事件代理绑定事件,如将事件绑定到body上进行代理(利用冒泡原理将事件加到父级上,能够给动态增加的元素进行数据绑定);

·避免频繁的操作DOM节点,使用innerHTML代替

·减少对象查找,如a.data.box1.name的查找方式非常耗性能,尽可能的将它定义在变量里;

·类型转换,把数字转字符串使用var str=‘’+1;浮点数转成整形使用Math.floor()或者Math.round();

·js对字符串进行循环操作,譬如替换、查找应该使用正则表达式;

·删除重复的js

·使用setTimeout来避免页面失去响应

·使用hash-table来优化查找


4、其他方面进行优化

·尽量合并js和css,对js和css进行压缩,可以缩短文件传输时间;

·使用CDN加速

· 减少Cookie的大小,使用无cookie的域,客户端请求静态文件的时候,减少 Cookie 的反复传输对主域名的影响;

·为文件头指定Expirs,使内容具有缓存性;

·减少DNS查询,权衡;

·避免在html标签中写style属性

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149284.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HtmlDocument 类 使用

    HtmlDocument 类 使用HtmlDocument类 注意:此类在.NETFramework2.0版中是新增的。提供对WebBrowser控件承载的HTML文档的顶级编程访问。命名空间:System.Windows.Forms程序集:System.Windows.Forms(在system.windows.forms.dll中)varExpCollDivS

    2022年7月19日
    14
  • 未来软件的设想

    未来软件的设想

    2021年5月7日
    219
  • webapp开发框架推荐以及优缺点分析【webAPP干货】[通俗易懂]

    webapp开发框架推荐以及优缺点分析【webAPP干货】[通俗易懂]推荐下面6款常用的webapp开发框架。有兴趣可以阅读《HTML5移动webAPP和HybridAPP开发的优缺点分析》和2014年webAPPUI设计和前端JS特效案例集萃第一款:Sencha TouchSenchaTouch是世界上第一个支持HTML5和CSS3标准的移动应用框架,你可以使用HTML5来编写音频和视频组件,还可以使用Lo

    2022年6月15日
    33
  • Mysql数据库中的各种锁「建议收藏」

    Mysql数据库中的各种锁「建议收藏」在介绍InnoDB与MyIsam的区别时,提到了:InnoDB支持表、行(默认)级锁,而MyISAM支持表级锁本文便着重对Mysql数据库中的锁进行介绍概述相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。MySQL大致可归纳为以下3种锁:表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最…

    2022年6月11日
    38
  • 《大话数据结构》pdf

    《大话数据结构》pdf下载地址:网盘下载编辑推荐编辑超级畅销书《大话设计模式》作者的新作!用户群更为广泛,写作风格一如既往,技术沉淀更加深厚,势必掀起全民数据结构的热潮!内容简介编辑本书为超级畅销书《大话设计模式》作者程杰潜心三年推出的扛鼎之作!以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式来叙述,大量引用了各种各样的生…

    2022年6月24日
    16
  • Python入门教程 超详细1小时学会Python

    Python入门教程 超详细1小时学会Python为什么使用Python假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200.思路:用shell编程.(Linux通常是ba

    2022年7月3日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号