我刚刚开始使用jQuery,一直在寻找如何提高代码速度/性能的资源。我想知道是否有任何技巧或资源可以帮助我。
谢谢,
Bev
我刚刚开始使用jQuery,一直在寻找如何提高代码速度/性能的资源。我想知道是否有任何技巧或资源可以帮助我。
谢谢,
Bev
我曾经收藏了几个关于这个主题的网站,希望它们能帮助你找到所需的内容。(主题从简单到高级)
jQuery 性能规则的主题包括:
- 总是从#id进行下降
- 在类之前使用标签
- 缓存 jQuery 对象
- 利用链接的强大功能
- 使用子查询
- 限制直接的 DOM 操作
- 利用事件委托(也称为冒泡)
- 消除查询浪费
- 延迟到 $(window).load
- 压缩你的 JS
- 学习该库
jQuery 性能和优化技巧的主题包括:
- 保持最新!您是否正在使用过时的方法和技术?
- 上下文感知 jQuery 代码执行 - 是否正在加载不需要的代码?
- jQuery 单元测试
- 基准测试您的 jQuery 代码
- 使用一个压缩的主 JS 文件尽可能减少下载时间。
- 上下文与查找
- 全部使用 window.load
- 在使用 JavaScript 和 jQuery 之间取得平衡
jQuery 性能调整技巧 - Paul Irish的主题包括:
- 针对 Sizzle 的“从右到左”的模型优化选择器
- 使用 live() 而不是 click()
- 在操作元素时将其从 DOM 中移除
- 使用find()替代context
- 使用HTML 5
- 在样式15个或更多元素时才添加样式标签
- 使用Google Page Speed测试选择器
- 即使jQuery没有报错,也要使用对象检测
- 使用直接函数而不是它们的便利版本
- 学习较少为人知的方法
通过大数据集提高jQuery性能主题包括:
- 使用JavaScript原生的for()循环而不是jQuery的$.each()辅助函数。
- 不要在循环中将元素附加到DOM中。
- 如果您有许多要插入到DOM中的元素,请将它们包含在父元素中以获得更好的性能。
- 不要使用字符串连接,而是使用数组的join()方法来连接非常长的字符串。
- 对于您的长列表循环和连接函数,请使用setTimeout()函数。
希望这些足以让您开始您的jQuery性能之旅。
.live()
而不是.click()
等的建议是很好的,但更好的建议是使用.delegate()
。 - Pointy