【发布时间】:2011-01-15 22:45:34
【问题描述】:
我刚开始使用 jQuery,我一直在寻找一些关于如何提高代码速度/性能的资源。我想知道是否有人有任何提示或资源可以帮助我。
谢谢,
贝弗
【问题讨论】:
标签: javascript jquery performance
我刚开始使用 jQuery,我一直在寻找一些关于如何提高代码速度/性能的资源。我想知道是否有人有任何提示或资源可以帮助我。
谢谢,
贝弗
【问题讨论】:
标签: javascript jquery performance
我在这个主题上收藏了一些网站,希望它们能帮助您解决您的需要。 (主题范围从简单到高级)
jQuery Performance Rules 主题包括:
- 始终从 #id 下降
- 在类之前使用标签
- 缓存 jQuery 对象
- 利用链接的力量
- 使用子查询
- 限制直接 DOM 操作
- 利用事件委托(又名冒泡)
- 消除查询浪费
- 遵循 $(window).load
- 压缩你的 JS
- 了解图书馆
jQuery Performance and Optimization Tips 主题包括:
- 保持最新!您是否使用过时的方法和技术?
- 上下文感知的 jQuery 代码执行 - 您是否正在加载不需要的代码?
- jQuery 单元测试
- 对您的 jQuery 代码进行基准测试
- 使用一个压缩的主 JS 文件将下载时间降至最低。
- 上下文对比。查找
- Window.load 一路。
- 在使用 JavaScript 和 jQuery 之间取得平衡
jQuery Performance Tuning Tips - Paul Irish 主题包括:
- 为 Sizzle 的“从右到左”模型优化选择器
- 使用 live() 而不是 click()
- 在玩的时候从 DOM 中拉出元素
- 使用 find() 而不是上下文
- 使用 HTML 5
- 为 15 个或更多元素设置样式时附加样式标签
- 使用 Google Page Speed 测试选择器
- 即使 jQuery 不抛出错误也使用对象检测
- 使用直接函数而不是方便的对应函数
- 了解鲜为人知的方法
Improving jQuery Performance with Large Data Sets 主题包括:
- 使用 JavaScript 原生 for() 循环代替 jQuery 的 $.each() 帮助器
功能。- 不要在循环中将元素附加到 DOM。
- 如果您有很多元素要插入到 DOM 中,请将它们包围
与父元素更好 表现。- 不要使用字符串连接,而是使用数组的 join() 方法 很长的琴弦。
- 使用 setTimeout() 函数进行长列表循环和连接
功能。
希望这些足以让您踏上通往 jQuery 性能天堂的旅程。
【讨论】:
.live() 而不是.click()(等)的建议很好,但更好的建议是使用.delegate()。