首先,我正在使用 Chrome 开发工具测试各种方法,但我不认为自己是当今现代浏览器中 JS 的“专家”,所以我正在寻找额外的反馈来补充我的测试。
我有一个页面,该页面通常包含 600 多个需要处理点击事件的元素。我可以想到至少 3 种完全不同的方法来解决这个问题,但我正在考虑页面大小、速度、JS 内存问题、与对象计数相关的问题(在性能和稳定性方面)。
- 包括 onClick="foo(this);" 对于每个元素并在我包含的一个 .js 文件中定义函数。-- 较大的页面,定义一次的函数,我认为 JS 的内存占用更小,但整个页面更大。
- 使用 jQuery 和 $(selector).click(foo(this)); - 页面更小,函数定义一次,我认为 JS 的内存占用更大,但整体页面更小。
- 使用 jQuery 和 $(selector).click(function(this) { }); - 最小的页面,函数定义一次,但我希望这在内存方面是最苛刻的(我担心我可能会遇到一些 jQuery 或 JS 整体上的晦涩问题),但在概念上是最优雅的。
我必须支持几乎所有人们可能期望 jQuery 在其中运行的浏览器。项目的数量可能会增加更多(可能增加 4 或 5 倍)。
如果有另一种更好的方法,我很想听听。如果有人想对我的 3 种方法的任何优点/缺陷进行教育,我也会非常感激。