51-讨论
5.12.3 讨论
$(selector).each(fn) 是创建一个jQuery对象并循环读取它的常用方法,但是它并不是唯一的方法。jQuery对象是一个类似数组的对象,具有 .length 和 [0] 、 [1] 、 ... 、 [length-1] 属性。因此,可以使用适合于任何其他数组的循环技术。而且,因为jQuery对象不会包含“假”元素,可以使用本解决方案一开始列举的最快速的 for 循环。
如果你使用秘诀5.2中的 time() 函数或者其他分析器来测量循环性能,一定要测试实际的代码,而不是仅仅运行循环而非整个循环体的简化测试用例。简化的测试会忽略 for 循环的一个潜在优势:因为较少的函数嵌套,造成的名称查找也较少。详情参见秘诀5.13。