下载此文档

成都达内:WEB前端开发javaScript代码性能优化方案.docx


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
育—中国 IT 培训领导品牌成都达内: WEB 前端开发 javaScript 代码性能优化方案 JavaScript 是一种属于网络的脚本语言,已经被广泛用于 Web 应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常 JavaScript 脚本是通过嵌入在 HTML 中来实现自身的功能的。 Firefox 拥有目前最快的 JavaScript 解析器 SpiderMonkey, 有各种各样的让 JavaScript 的速度更快的努力,其中一个是 . s 是 JavaScript 是由 Emscripten 产生的一个子集,它为 C/C++ 编绎成的 JavaScript 代码做了很多优化,编译型后的代码很难看,这就是为什么你不能自己写优化后的代码,但它运行非常快。我建议你阅读一下这篇文章。好了,我们的目标是写速度更快的 JavaScript 代码,这里有让你的代码跑得更快一些的小窍门,以及更好的内存效率。请注意,我不是严格讨论 DOM 和 Web 应用程序,它是关于 JavaScript 的, DOM 只是一部分。眼见为实,我要添加为第一个添加 jsperf 测试用例,使用的是 Firefox3 8 和 Chrome39 测试。#1 不要类型转换育—中国 IT 培训领导品牌 JavaScript 是动态类型,但如果你想提高速度不要使用该功能。尽量保持变量的类型一致。这也适用于数组,尽管主要是由浏览器都进行了优化,但尽量不要混用不同类型的数组。这就是为何编译成 JavaScript 的 C/C++ 代码使用静态类型的原因之一。{ var x= '2'; var y= 5; x= 2;x+ y;}测试用例另外:字符串与数字类型间相互转换比方说,你必须将字符串转换为数字, parseInt 与 parseFloat 是最好的方法吗?让我们来看看。育—中国 IT 培训领导品牌 parseFloat("100") +"100" //整型 parseInt("100", 10) "100"|0 "100" >> 0 "100" << 0 //仅适用于正数"100" >>> 0 parseInt 测试~ parseFloat 测试 Firefox 对位操作进行了优化,运行的代码比 parseInt 和+运算速度快约 99% 。而 Chrome 显然对位运算符没有偏爱,他们比 parseInt 函数还慢 62% 。 parseFloat 比+运算符在两种浏览器(Firefox 28% , Chrome 39%) 上都要快。育—中国 IT 培训领导品牌因此,如果你在写 Node/Chrome 或 Firefox 的应用程序?我认为,一般使用 parseInt 函数是正确的。#2 不要重新构造对象重组对象不便宜,应该避免它: 不要使用 delete 运算符删除操作比分配一个 null 属性慢很多。分配 null 在两个浏览器都快 99% , 但它不能修改对象的结构,但删除可以。编辑:我认为这里有点误导,这并不意味着你不应该使用 delete 操作符, delete 运算符有它自己的使用情况,它可以防止对象的内存泄漏。 delete vs null 不要以后再添加属性尽量不要在以后再添加属性,最好从一开始就定义对象的架构。这在 Firefo x 中快 100% ,在 Chrome 中快 89% 。动态属性 VS 预先定义结构育—中国 IT 培训领导品牌#3 字符串联连字符串联连是一个非常昂贵的操作,但是应该用什么方法呢?当然不是 。+= 运算符似乎比+快很多, 和 在两种浏览器都更快。 是最慢的, 符合市场预期。字符串连接测试#4 正确的使用正则表达式使用 是没有必要,不是吗? 然而, 和 之间是有性能差异的,让我们来看看哪个方法更快: 正则表达式的方法育—中国 IT 培训领导品牌 比 快了不少,但他们是不完全一样的东西,它们的区别超出了本文的范围,看这个问答。 更快,可能是因为它不返回找到匹配的索引。 应仅用于找到所需的匹配的索引。然而,你不应该使用正则表达式来查找另一个字符串的位置,你可以使用 Strin

成都达内:WEB前端开发javaScript代码性能优化方案 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人qv8e6spp8
  • 文件大小99 KB
  • 时间2017-04-23