相关疑难解决方法(0)

$ .each()vs for()循环 - 和性能

这些主要是我一直想知道的一些事情,也许有人可以给我一些关于它们的更多见解,我将分享到目前为止我已经注意到的内容!

我一直在想的第一件事......是否有任何不同的好处或理由使用:

$('element').each(function (i, el) { });

- 与 -

$.each($('element'), function (i, el) { });

看看jQuery文档,我看不出任何一个或另一个的押韵或理由(也许你知道一个实例或其他东西可以做的另一个.

但更重要的是我在这里关注速度

// As opposed to $.each() looping through a jQuery object
// -- 8x faster 
for (var i = 0, $('.whatever').length; i < len; i++) {
    $('.whatever')[i] // do stuff
}
Run Code Online (Sandbox Code Playgroud)

如果你在这里查看这个jsFiddle DEMO,你会发现速度的差异基本上与它们中的任何一个相同,但更重要的是我觉得我应该总是使用for()循环...

我只是单元测试(循环遍历5个不同的场景函数中的每一个,50,000次),简单地循环遍历一堆列表项,并设置一个data-newAttr,没什么特别的.


问题::我想我最大的问题是,为什么不总是在迭代对象时使用for循环?是否有使用$ .each()的意义?即使在浏览jQuery对象时,你总是使用for()循环吗?

jsFiddle DEMO在这里

Function type:                  Execution Time:
_testArea.each() + $(this)               1947   <-- using $(this) slows …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

68
推荐指数
4
解决办法
7万
查看次数

标签 统计

javascript ×1

jquery ×1