页面装载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 相关文章推荐
jquery animate图片模向滑动示例代码
Jan 26 Javascript
js解析与序列化json数据(三)json的解析探讨
Feb 01 Javascript
js函数模拟显示桌面.scf程序示例
Apr 20 Javascript
推荐JavaScript实现继承的最佳方式
Nov 11 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
Jan 22 Javascript
图解Sublime Text3使用技巧
Dec 21 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
Mar 01 Javascript
Bootstrap的Refresh Icon也spin起来
Jul 13 Javascript
ES6学习教程之对象字面量详解
Oct 09 Javascript
js实现单张图片平移切换效果
Oct 11 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
Feb 06 Javascript
浅谈Vuex注入Vue生命周期的过程
May 20 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
[对联广告] JS脚本类
2006/08/27 Javascript
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
vue实现评价星星功能
2020/06/30 Javascript
基于Vue中的父子传值问题解决
2020/07/27 Javascript
[44:43]完美世界DOTA2联赛决赛日 FTD vs GXR 第一场 11.08
2020/11/11 DOTA
Python中返回字典键的值的values()方法使用
2015/05/22 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
酒店副总岗位职责
2013/12/24 职场文书
党员个人思想汇报
2013/12/28 职场文书
工业设计专业个人求职信范文
2013/12/28 职场文书
学校组织向国旗敬礼活动方案(中小学适用)
2014/09/27 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
新生入学欢迎词
2015/01/26 职场文书
工作能力自我评价2015
2015/03/05 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers