Web前端编码优化

浏览器渲染原理

HTML

CSS

JavaScript

浏览器-加载,解析,渲染

构建DOM树-构建渲染树-布局渲染树-绘制渲染树

重绘repaint

重排reflow

节点外观改变(不会重新布局)

background-color、color、visibility

节点结构、定位、大小、边距(重新布局)

Javascript优化

1、变量

1) $前缀  var $btn = $('.btn-submit')

2) 缓存变量 var $btn = $('.btn-submit');

$('.btn-submit').text('提交中...')          

$('.btn-submit').text('提交')

2、更新节点

for(var i=0;i<items.length;i++){ 

   $('#list').append('<li>'+items.name+'</li>');  

}

3、选择节点

var $btn = $('#list .btn') => $('#list').find('.btn')

var $checkbox = $('.form input:checkbox')

推荐:var temp = [],$list = $('#list');

for(var i=0,len=items.length;i<len;i++){ 

   temp.push('<li>'+items.name+'</li>');  

}

$list.append(temp.join(''));

HTML优化

1、避免空链接属性

<img src="">     <a href=""></a>

2、避免节点深层级嵌套

3、避免table布局

4、显示设置图片高度

<img src="logo.png" width="100" height="100">

5、避免脚本阻塞加载

CSS优化

1、避免过度约束

ul#menu{}   .nav #logo{}

  

2、简写css

padding margin background font border

3、避免不必要的命名空间

  .list table tr.line td{}   .list table .line td{}  

4、CSS sprites减少http请求

  

5、图标采用图片base64

图片压缩 https://tinypng.com/

图片base64 FEhelper

 ​ 

前端打包工具

1、grunt前端自动化工具

压缩文件、合并文件、简单语法检查

2、yeoman

yo 项目初始化工具,生成一套启动某类项目必需的项目文件

bower 客户端技术的软件包管理器,它可用于搜索、安装和卸载如JavaScript、HTML、CSS之类的网络资源。

grunt 基于JavaScript的命令行构建工具,它可以帮助开发者们自动化重复性的工作。

Web前端编码优化

By qiaoshuyi

Web前端编码优化

  • 428