第一章:加载和执行
.浏览器的JavaScript的引擎是编译器层的优化;
.当浏览器执行JavaScript代码时,不能同时做其他任何事情(单一进程),意味着
.主流浏览器都允许并行下载JS。
.减少外链脚本数量将会改善性能(合并JS)
.任何网站都可以使用一个把制定文件合并处理后的URL来获取任意数量的文件。
.defer属性可延迟脚本(只有IE4 和FF3. 支持) 第二章:数据访问
.JavaScript中有四种基本的数据存取位置: 直接量,变量,数组元素(以数字作为索引),对象成员(以字符床作为索引)。
.访问直接量和局部变量的速度最快,相反,访问数组元素和对象成员相对较慢。
.属性或方法在原型链中的位置越深,访问它的速度也越慢。
.通常来说,可以通过吧常用的对象,数组元素,跨越变量保存在局部变量中来改善JavaScript性能。 第三章:DOM编程
.DOM操作在webkit内核的浏览器速度快,其他的浏览器innerHTML执行快。
.访问和操作DOM是现代WEB应用的重要部分。但每次穿越链接ECMAScript和DOM两个岛屿之间的桥梁都会被收取‘过桥费’.
.要留意重回和重排。
.在IE中:hover会降低响应速度。 第四章:算法和流程控制
.避免使用for-in循环,除非需要遍历一个属性数量位置的对象。
.了解栈溢出错误。 第五章:字符串和正则表达式
.回溯既是正则表达式匹配功能的基本组成部分,也是正则表达式的低效之源。 第六章:快速响应的用户界面
.任何JavaScript任务都不应当执行超过100毫秒。
.Web workers是新版浏览器支持的特性。
.没有什么JavaScript代码会重要到可以影响用户体验的程度. 第七章:Ajax
.JSON是轻量级的数据格式,解析速度快。
.减少请求数,可通过合并JS和CSS,还有IMG。
.缩短页面加载时间,页面主要内容加载完成后,用Ajax获取那些次要的文件。 第八章:编程实践
.大多数的时候,没必要使用eval()和Function(),因此最好避免使用它们。至于setTimeout()和setInterval(),建议传入函数而不是字符串来作为第一个参数。
.在JavaScript中创建对象和数组的方法有多种,但使用对象和数组直接量是最快的方式(对象属性和数组项越多,使用直接量的好处就越明显)。
.不要重复工作:延迟加载;条件预加载.
.多使用原生方法,因为更快。 第九章:构建并部署高性能JavaScript应用
.PV(page view)即页面浏览量或点击量。
.减少页面渲染所需的HTTP请求数,特别是针对那些首次访问网站的用户。
.JavaScript压缩。
.JavaScript缓存。
.使用内容分发网络(CDN) 第十章主要介绍工具:如firebug,YSlow,和一些性能分析.

原文地址 :http://www.fefork.com/%E3%80%8A%E9%AB%98%E6%80%A7%E8%83%BDJS%E3%80%8B%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/

最新文章

  1. 17.iOS App设置icon,启动图,App名称的方法
  2. LINUX RHEL AS 4 + ORACLE10G安装详解
  3. struts2中form提交到action中的中文参数乱码问题解决办法(包括取中文路径)
  4. Android Material Design-TabLayout的使用
  5. iOS IAP教程
  6. 技巧两种:LINUX删除指定后缀文件及PYTHON更改屏幕字色
  7. qt 拖拽 修改大小(使用了nativeEvent和winEvent)
  8. git merge的recursive策略和merge-base
  9. HTML+CSS Day06 超链接的样式与搭配
  10. 不停止MySQL服务增加从库的两种方式【转载】
  11. Android布局中ScrollView与ListView的冲突的最简单方法
  12. js原型与继承
  13. 如何扩展VS2017未安装的功能
  14. CentOS6.7-64bit编译hadoop2.6.4
  15. javascript提取联通个人信息和通话记录的代码
  16. CentOS7.5安装cairo-dock,比mac托盘还美
  17. ios两视图间托付(delegate)传值
  18. Element 中表单非必填数据项 必须为数字的验证问题
  19. mysql 添加字段,修改字段的用法
  20. request.getSession()、reqeust.getSession(false)和request.getSession(true)

热门文章

  1. 17.1.1.4 Obtaining the Replication Master Binary Log Coordinates 得到复制master binary log 位置:
  2. Linux创建新用户以及useradd adduser的区别
  3. js怎样生成json的数据
  4. 【原】现有市场上H264 IPCamerad的功能
  5. poj 1265 Area(Pick定理)
  6. Bzoj 3694: 最短路 树链剖分
  7. Android 自定义View可拖动移动位置及边缘拉伸放大缩小
  8. poj 2186 Popular Cows【tarjan求scc个数&&缩点】【求一个图中可以到达其余所有任意点的点的个数】
  9. 【oracle】初学jobs
  10. c#复制图片到粘贴板