网站性能优化

  • 减少http请求
  1. 合并CSS、JavaScript:将浏览器一次访问需要的JavaScript,CSS合并成一个文件,这样浏览器只需要一次请求
  2. 合并图片:多张图片合并成一张,如果每张图片都有不同的超链接,可通过CSS偏移响应鼠标点击操作,构造不同的URL。
  • 压缩js、css
  1. 减少文件体积,去除不必要的空白符、格式符、注释(即对代码进行格式化)
  • 优化js、css文件位置
  1. 将css放到页面最上面(尽量放到head中,不要放入body或其他位置),js文件放到页面最下面
  2. 把js和css提取出来放在外部文件中:这一条要灵活运用,把js和css提取出来放在外部文件的优点是:减少html体积,提高了js和css的复用性,提高日后的可维护性;缺点:增加了http请求,不过这一点可以通过缓存来解决什么情况下将js和css写在页面内呢,可以分为几种情况:js和css代码比较少;这个页面不怎么会访问
  • 避免重定向
  1. 重定向会增加服务器和浏览器之间的往返次数,影响网站性能。
  • 减少对DOM的操作
  1. DOM操作应该是脚本中最耗性能的一类操作,例如增加、修改、删除 DOM元素或者对 DOM集合进行操作。
  • 避免使用 eval和 Function
  1. eval 函数效率特别低,由于事先无法知晓传给 eval 的字符串中的内容,eval在其上下文中解释要处理的代码,也就是说编译器无法优化上下文,因此只能有浏览器在运行时解释代码。这对性能影响很大。
     
  2. Function 构造函数比 eval略好,因为使用此代码不会影响周围代码 ;但其速度仍很慢。
     
  3. 使用 eval和 Function也不利于Javascript 压缩工具执行压缩。
  • 减少作用域链查找
// 低效率的写法:
// 全局变量 
var globalVar = 1; 
function myCallback(info){ 
    for( var i = 100000; i--;){ 
        //每次访问 globalVar 都需要查找到作用域链最顶端,本例中需要访问 100000 次 
        globalVar += i; 
    }
} 

// 更高效的写法:
// 全局变量 
var globalVar = 1; 
function myCallback(info){ 
    //局部变量缓存全局变量 
    var localVar = globalVar; 
    for( var i = 100000; i--;){ 
        //访问局部变量是最快的 
        localVar += i; 
    } 
// 本例中只需要访问 2次全局变量
// 在函数中只需要将 globalVar中内容的值赋给localVar 中区
globalVar = localVar; 
}
  • 字符串拼接
  1. 在 Javascript中使用"+" 号来拼接字符串效率是比较低的,因为每次运行都会开辟新的内存并生成新的字符串变量,然后将拼接结果赋值给新变量。
  2. 与之相比更为高效的做法是使用数组的 join方法,即将需要拼接的字符串放在数组中最后调用其 join方法得到结果。
  3. 由于使用数组也有一定的开销,因此当需要拼接的字符串较多的时候可以考虑用此方法。

 

  • 参考:
  1. Web前端性能优化——如何提高页面加载速度    https://blog.youkuaiyun.com/An1090239782/article/details/78166983

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值