前端性能优化----雅虎35条军规
前端性能优化—-雅虎35条军规
减少HTTP请求
80%的终端响应时间主要花费在前端,而这部分时间主要在下载网页中的图片,样式文件,脚本文件,flash等资源。减少这些资源的数量就相应地减少了用于渲染页面的HTT请求数量。以下是一些具体的方法
简化设计
打包文件,将多个JS文件打包成一个JS文件,同样地,将多个CSS文件打包成一个CSS文件
使用CSS Sprites,将页面中用到的背景小图标并合成一张图片,再使用CSS中的bakground-image和background-position来显示所需图像部分
图像映射,html标签,可以创建可点击的图像区域,具体参考w3school或者W3C文档
内嵌图片,通过data:URL scheme内嵌
使用CDN
在现有的网络中增加一层新的网络架构,将网站的内容发布到最接近用户的Cache服务器内,通过DNS负责均衡技术,判断用户来源就近访问Cache服务器上所需的内容。如此便可以减少数据在网络上传输的时间,提高速度
设置头文件过期时间或者缓存策略
静态内容:将 Expires 响应头设置为将来很远的时间,实现「永 ...
JS面试系列
JS面试系列defer和asnyc参考:带你玩转prefetch, preload, dns-prefetch,defer和async - SegmentFault 思否
1234<script type="module" src="foo.js"></script><!-- 等同于 --><script type="module" src="foo.js" defer></script>
阮一峰的ES6—Module的加载实现_慕课手记 (imooc.com)
webpack解惑:require的五种用法 - 吕大豹 - 博客园 (cnblogs.com)
5、介绍下 Set、Map的区别?
应用场景Set用于数据重组,Map用于数据储存Set: (1)成员不能重复(2)只有键值没有键名,类似数组(3)可以遍历,方法有add, delete,hasMap:(1)本质上是健值对的集合,类似集合(2)可以遍历,可以跟各种数据格式转换
ES6常见面 ...
一些名词解释
一些名词解释前端工程化
参考:《前端技术架构与工程》作者: 周俊鹏
前端工程化是前端开发的一种思维方式,是针对前端开发过程中遇到的一些列问题的解决方案。前端工程化围绕编码、方法、工具三个要素展开。从前端应用的技术架构本身出发,关注点聚焦于模块解耦、数据管理架构模式、性能以及前后端分离,目标是实现架构的高可用性、可扩展性、可伸缩性,同时提高独立开发和跨团队协作开发的效率;从架构之外的角度出发,关注点聚焦于前端应用的开发、架构、测试、部署以及持续化工程体系,目标是建立规范、有序、高效的迭代流程,降低产品迭代所消耗的人力和沟通成本。
模块化
参考:模块化
MVVM首先说一下 MVC,是 SOC 的具体实践。在此模式下,一个服务将被划分为 Model、View、Controller 三层,Model 层描述数据模型,存储数据,View 层展示 UI 界面和响应用户交互,Controller 层监听模型数据改变和控制视图行为、处理用户交互。最终实现服务交付。
MVVM将复杂的 Controller 层数据和逻辑抽离,用一个专门的对象 ViewModel 管理,然后实现 Controller ...