页面装载js及性能分析方法介绍


Posted in Javascript onMarch 21, 2014

一、装载

先装载静态页面的引用js文件,然后查找引用文件中是否包含onload函数,比如main.js中包含onload函数,在main.js中查找是否有对其他js文件的引用,优先装载引用js文件,被引用中文件的装载顺序和main.js的顺序一致。
装载完毕后,开始执行onload函数。由于js执行顺序是顺序执行的,为提高页面相应速度,一般做法是在onload中只画页面,一些事件的绑定函数,ajax方法等可延后书写。

二、响应速度分析

1.借助工具进行分析
各大浏览器的开发者工具(最喜欢使用火狐)可以方便的查看各个js文件、html文件、css文件及图片的装载及执行时间。

2.硬编码分析
在第一步中我们基本能定位到瓶颈js文件了,在瓶颈js中,可以使用console.time('test')和console.Endtime('test')语句对js函数及代码块掐取执行时间。不过console语句只在非IE浏览器中执行有效,而在IE下会报错。如果你偏爱使用IE,那就使用时间戳吧。在掐取时,比较方便的方法是,直接掐住整个js文件,然后使用火狐浏览器,按F12可以在控制台中看到目标js中所有函数及代码块的耗时,即可定位到瓶颈代码处。

Javascript 相关文章推荐
表单元素事件 (Form Element Events)
Jul 17 Javascript
滚动图片效果 jquery实现回旋滚动效果
Jan 08 Javascript
JavaScript实现表格排序方法
Jun 14 Javascript
浅析js封装和作用域
Jul 09 Javascript
CSS+jQuery实现的一个放大缩小动画效果
Sep 24 Javascript
三个js循环的关键字示例(for与while)
Feb 16 Javascript
JS判断form内所有表单是否为空的简单实例
Sep 09 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
Jul 24 Javascript
webpack4 处理CSS的方法示例
Sep 03 Javascript
js简单遍历获取对象中的属性值的方法示例
Jun 19 Javascript
Vue-CLI与Vuex使用方法实例分析
Jan 06 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
Oct 27 Javascript
Js冒泡事件详解及阻止示例
Mar 21 #Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
Mar 21 #Javascript
js中把JSON字符串转换成JSON对象最好的方法
Mar 21 #Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
Mar 20 #Javascript
将中国标准时间转换成标准格式的代码
Mar 20 #Javascript
如何将php数组或者对象传递给javascript
Mar 20 #Javascript
js 触发select onchange事件代码
Mar 20 #Javascript
You might like
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
原生javascript实现图片滚动、延时加载功能
2015/01/12 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
浅谈JavaScript中的Math.atan()方法的使用
2015/06/14 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
FullCalendar日历插件应用之数据展现(一)
2015/12/23 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
jQuery.parseJSON()函数详解
2019/02/28 jQuery
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
Vue实现简单的拖拽效果
2020/08/25 Javascript
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
python ElementTree 基本读操作示例
2009/04/09 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
python对html过滤处理的方法
2018/10/21 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
详解Python的三种拷贝方式
2020/02/11 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
python开发一款翻译工具
2020/10/10 Python
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
酒店采购员岗位职责
2014/03/14 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
iPhone13将有八大升级
2021/04/15 数码科技
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技
Django中celery的使用项目实例
2022/07/07 Python