• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 网页制作 > JavaScript >

最大限度利用 JavaScript 和 Ajax 性能(3)

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-02-07点击:

   显示的是报告总记录数的响应。

  清单 4. 第二个响应:总记录数

  1. {"total_records": 95} 

  将这两个 Ajax 请求分开是浪费资源,它们可以合并到一个请求中,并生成以下 的响应。

  清单 5. 高效响应:记录总数和数组

  1.     "total_records": 95, 
  2.     "records": [ 
  3.         {"id":1,"name":"John","email":"john@example.com"}, 
  4.         {"id":2,"name":"Mary","email":"mary@example.com"}, 
  5.         {"id":3,"name":"Tony","email":"tony@example.com"}, 
  6.         {"id":4,"name":"Emma","email":"emma@example.com"}, 
  7.         {"id":5,"name":"Alan","email":"alan@example.com"
  8.            ] 

  这样做不仅使所需的 HTTP 请求和响应更少,而且也减少了用于响应 Ajax 请求的服务器端脚本。

  本例演示非常简单 — 应用程序越复杂,减少所用的 Ajax 请求数量就越重要。

  (适当)使用变量

  为了尽量减少代码行,很多开发人员常忽略了变量的使用,很多情况下他们其实能显著提高某段代码的执行速度。例如,在以下代码中,对一个元素应用了多种样式:

  清单 6. 对一个元素应用多种样式(低效)

  1. document.getElementById("myField").style.backgroundColor = "#CCC"
  2. document.getElementById("myField").style.color = "#FF0000"
  3. document.getElementById("myField").style.fontWeight = "bold"

  以上每行代码中,浏览器都要在 DOM 中搜索 ID 为 myField 的元素。其实无需像这样执行三次,可以通过将document.getElementById("myField") 结果赋给一个变量并在每行使用变量来提高效率。如 所示。

  清单 7. 对一个元素应用样式(高效)

  1. var myField = document.getElementById("myField"); 
  2. myField.style.backgroundColor = "#CCC"
  3. myField.style.color = "#FF0000"
  4. myField.style.fontWeight = "bold"

  另一个应该用变量而没有用的地方是遍历数组的 for 循环。请看 的例子。

  清单 8. 用 for 循环遍历数组(低效)

  1. for(var i=0; i < myArray.length; i++) { 
  2.     //do something 

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ