你有哪些性能优化的方法?

你有哪些性能优化的方法?

  (1) 减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存,图片服务器。

 

  (2) 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数

 

  (3) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。

 

  (4) 当需要设置的样式很多时设置className而不是直接操作style。

 

  (5) 少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。

 

  (6) 避免使用CSS Expression(css表达式)又称Dynamicproperties(动态属性)。

 

  (7) 图片预加载,将样式表放在顶部,将脚本放在底部  加上时间戳。

一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?

    分为4个步骤:

    (1),当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询。这能使浏览器获得请求对应的IP地址。

    (2), 浏览器与远程Web服务器通过TCP三次握手协商来建立一个TCP/IP连接。该握手包括一个同步报文,一个同步-应答报文和一个应答报文,这三个报文在 浏览器和服务器之间传递。该握手首先由客户端尝试建立起通信,而后服务器应答并接受客户端的请求,最后由客户端发出该请求已经被接受的报文。

    (3),一旦TCP/IP连接建立,浏览器会通过该连接向远程服务器发送HTTP的GET请求。远程服务器找到资源并使用HTTP响应返回该资源,值为200的HTTP响应状态表示一个正确的响应。

    (4),此时,Web服务器提供资源服务,客户端开始下载资源。

 

请求返回后,便进入了我们关注的前端模块

简单来说,浏览器会解析HTML生成DOM Tree,其次会根据CSS生成CSS Rule Tree,而javascript又可以根据DOM API操作DOM

详情:从输入URL 到浏览器接收的过程中发生了什么事情?

平时如何管理你的项目?

先期团队必须确定好全局样式(globe.css),编码模式(utf-8)等;

 

        编写习惯必须一致(例如都是采用继承式的写法,单样式都写成一行);

 

        标注样式编写人,各模块都及时标注(标注关键样式调用的地方);

 

        页面进行标注(例如 页面 模块 开始和结束);

 

        CSS跟HTML 分文件夹并行存放,命名都得统一(例如style.css);

 

        JS 分文件夹存放 命名以该JS功能为准的英文翻译。

 

        图片采用整合的 images.png png8 格式文件使用 尽量整合在一起使用方便将来的管理

说说最近最流行的一些东西吧?常去哪些网站?

Node.js、Mongodb、npm、MVVM、MEAN、three.js,React 。

网站:w3cfuns,sf,hacknews,CSDN,慕课,博客园,InfoQ,w3cplus等

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值