Javascript性能问题

时间:2010-11-20 14:47:08

标签: javascript performance dom

我很好奇,因为我正在维护一个用Javascript编写的3d引擎。

  1. 哪个更快,parseInt(el.style.width)el.offsetWidth
  2. 我应该写parseInt(el.offsetWidth)吗?
  3. 哪个更快,getElementById()childNodes[]
  4. 哪个更快,new Image()appendChild('img')
  5. 请给我一个精彩的Javascript性能指南链接
  6. 谢谢!

2 个答案:

答案 0 :(得分:4)

你在这里有点混乱。

  

1。 哪个更快,parseInt(el.style.width)或el.offsetWidth?

  • el.style.width为您提供标记中javascript或style属性设置的宽度。

  • offsetWidth为您提供元素的当前宽度(包括边框)。

  

2. 我应该写parseInt(el.offsetWidth)吗?

不,offsetWidth会返回一个数字。但是,只要您使用parseInt

,就应该指定基数
  

3。 哪个更快,getElementById()childNodes[]?

如果您让父母使用childNodes。如果你有id,你可以使用byId。性能取决于浏览器(test)。

  

4. 哪个更快,new Image()appendChild('img')

如果要强制浏览器下载资源,请使用new Image()。如果要将图像添加到布局,请使用appendChild(IMAGE_ELEMENT)

  

5. 请给我一个精彩的Javascript性能指南链接

我宁愿留下这个链接:http://jsperf.com/,让你进行A / B测试。

答案 1 :(得分:0)

以下是一些有关Javascript性能的网站。

真的很旧的网站..但提供了一些见解。

http://home.earthlink.net/~kendrasg/info/js_opt/jsOptMain.html

参考书

http://oreilly.com/server-administration/excerpts/even-faster-websites/writing-efficient-javascript.html