浅谈页面装载js及性能分析方法


Posted in Javascript onDecember 09, 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 相关文章推荐
js中的escape及unescape函数的php实现代码
Sep 04 Javascript
javascript String 的扩展方法集合
Jun 01 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
Sep 13 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
Oct 26 Javascript
JQUERY1.6 使用方法四 检测浏览器
Nov 23 Javascript
jquery库文件略庞大用纯js替换jquery的方法
Aug 12 Javascript
理解javascript对象继承
Apr 17 Javascript
jquery UI Datepicker时间控件冲突问题解决
Dec 16 Javascript
总结javascript三元运算符知识点
Sep 28 Javascript
vue自定义指令用法经典实例小结
Mar 16 Javascript
vue2.x 对象劫持的原理实现
Apr 19 Javascript
vue-router定义元信息meta操作
Dec 07 Vue.js
深入分析jquery解析json数据
Dec 09 #Javascript
WEB前端设计师常用工具集锦
Dec 09 #Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
Dec 09 #Javascript
JQuery中使用on方法绑定hover事件实例
Dec 09 #Javascript
jQuery实现HTML5 placeholder效果实例
Dec 09 #Javascript
jQuery on方法传递参数示例
Dec 09 #Javascript
jquery实现侧边弹出的垂直导航
Dec 09 #Javascript
You might like
编写PHP的安全策略
2006/10/09 PHP
ThinkPHP中Session用法详解
2014/11/29 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
extJs 下拉框联动实现代码
2010/04/09 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
2013/12/02 Javascript
使用delegate方法为一个tr标签加一个链接
2014/06/27 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
禁止按回车键提交表单的方法
2015/06/11 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
浅析jquery数组删除指定元素的方法:grep()
2016/05/19 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
简单实现JS计算器功能
2016/12/21 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
JavaScript实现简单轮播图效果
2018/12/01 Javascript
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
解决python replace函数替换无效问题
2020/01/18 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
80年代复古T恤:TruffleShuffle
2018/07/02 全球购物
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
工程进度款催款函
2015/06/24 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
美容院员工规章制度
2015/08/05 职场文书
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL
python区块链持久化和命令行接口实现简版
2022/05/25 Python