底部,以避免阻塞页面渲染。
第二章:数据访问
| 单元标题 | 内容 |
| 数据存取位置 | JavaScript中有四种基本的数据存取位置:直接量、变量、数组元素和对象成员。 |
| 访问速度 | 访问直接量和局部变量的速度最快,数组元素和对象成员相对较慢。 |
| 原型链访问 | 属性或方法在原型链中的位置越深,访问速度越慢。 |
| 性能优化 | 将常用的对象、数组元素保存在局部变量中,以提高性能。 |
第三章:DOM编程
| 单元标题 | 内容 |
| 浏览器差异 | DOM操作在webkit内核的浏览器速度快,其他浏览器innerHTML执行快。 |
| 过桥费 | 每次穿越ECMAScript和DOM之间的桥梁都会收取“过桥费”。 |
| 重排和回流 | 需要留意DOM的重排和回流,以优化性能。 |
| :hover影响 | 在IE中,:hover会降低响应速度。 |
第四章:算法和流程控制
| 单元标题 | 内容 |
| for-in循环 | 避免使用for-in循环,除非需要遍历一个属性数量庞大的对象。 |
| 栈溢出错误 | 了解并避免栈溢出错误。 |
第五章:字符串和正则表达式
| 单元标题 | 内容 |
| 回溯问题 | 回溯是正则表达式匹配的基本组成部分,但也是其低效之源。 |
第六章:快速响应的用户界面
| 单元标题 | 内容 |
| 任务执行时间 | 任何JavaScript任务都不应执行超过100毫秒。 |
| Web workers | Web workers是新版浏览器支持的特性,可用于后台处理。 |
第七章:Ajax
| 单元标题 | 内容 |
| 数据格式 | JSON是轻量级的数据格式,解析速度快。 |
| 减少请求 | 通过合并JS、CSS和IMG来减少请求数,缩短页面加载时间。 |
| 次要文件获取 | 页面主要内容加载完成后,用Ajax获取次要文件。 |
第八章:编程实践
| 单元标题 | 内容 |
| 避免eval()和Function() | 大多数情况下,避免使用eval()和Function()。 |
| setTimeout()和setInterval() | 建议传入函数而不是字符串作为参数。 |
| 创建对象和数组 | 使用对象和数组直接量是最快的方式。 |
| 避免重复工作 | 延迟加载和条件预加载可以减少不必要的工作。 |
| 使用原生方法 | 多使用原生方法,因为更快。 |
第九章:构建并部署高性能JavaScript应用
| 单元标题 | 内容 |
| PV(page view) | 减少页面渲染所需的HTTP请求数,特别是针对首次访问网站的用户。 |
| JavaScript压缩 | 压缩JavaScript代码以提高加载速度。 |
| JavaScript缓存 | 利用缓存减少重复加载。 |
| 使用CDN | 使用内容分发网络(CDN)加速资源加载。 |
第十章:工具介绍
| 单元标题 | 内容 |
| Firebug和YSlow | 这些工具可以帮助分析和优化JavaScript性能。 |
相关问题与解答
1、问题:为什么在网页中应该将JavaScript脚本放在底部?
解答:将JavaScript脚本放在底部可以避免阻塞页面的渲染,提高页面加载速度,因为当浏览器遇到<script>标签时,它会停止其他所有操作,直到脚本下载、解析和执行完成,如果将脚本放在页面顶部,会导致整个页面的渲染被阻塞,从而影响用户体验。
2、问题:为什么应该避免使用eval()和Function()?
解答:eval()和Function()会在运行时解析和执行代码,这不仅会增加CPU负担,还可能导致安全隐患,它们无法享受JavaScript引擎的优化,执行速度较慢,在大多数情况下,应避免使用这两个函数。
到此,以上就是小编对于“High Performance JavaScript(高性能JavaScript)读书笔记分析-ja”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
本文地址:https://www.shjdjh.com/news/112885.html
免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:cloudinto#qq.com(把#换成@)