【发布时间】:2011-05-14 03:26:04
【问题描述】:
我有一个 JS-heavy 应用程序,它在 IE 中运行缓慢。我将花费大约一周的时间为 IE 进行优化,我想要一些关于尝试的方向。
我发现这个帖子引用了Drip,这似乎很有用:
IE and Memory accumulation in Javascript
我正在寻找诸如“使用 for 循环而不是 $.each”之类的技巧以及我可能不会使用的架构最佳实践。
我正在使用的库:
- jQuery
- 谷歌地图
- Facebook JS API
- KnockoutJS
- Taffy
我已经在做的事情:
- 使用 for 循环而不是 $.each
- 为常用的 DOM 元素缓存 jQuery 上下文
- 使用 Array.join() 与字符串连接构建 HTML
有什么建议吗?
谢谢!
【问题讨论】:
-
“使用 Array.join() 与字符串连接构建 HTML” 在我见过的几乎所有 JavaScript 实现中都是一个好主意。
-
哪个版本的IE速度慢? v8 中的 javascript 执行比 v7 快得多。版本 8 仍然比 FFox 慢。对你想要达到的目标有一个明确的目标,因为在你用 IE 撞墙之前你可以做的可能只有这么多,如果它仍然太慢那么你将不得不寻找其他方式来优化。
-
IE7 和 IE8 都很慢(我忽略了 IE6)。显然,IE8 更好。我会以什么其他方式优化?我认为是 JavaScript 让事情变慢了,不幸的是,这个应用程序需要大量的 JS。我很好奇 Google 如何让他们的 JS 应用程序像在 IE 中一样运行。
-
@T.J. – 我想你的意思是前者比后者更受欢迎? ;)
-
@Marcel:是的(这也是我对 OP 意图的解读,希望我没有弄错!)。 :-)
标签: javascript jquery internet-explorer google-maps performance