for
数组迭代的方法之间的性能差异。 我们将证明,为了速度,香草$.each
循环,尤其是那些具有可变缓存的循环,效果明显优于for
。 如JSperf基准测试所示,这可能会导致高达84%的速度提高(省略了,但易于搜索)。
$.each
>用于可变缓存的循环(最快):
<code class="language-javascript">$.each(myArray, function() { let currentElement = this; // ... your code using currentElement ... });</code>
对于无可变缓存的循环:
<code class="language-javascript">const len = myArray.length; for (let i = 0; i < len; i++) { let currentElement = myArray[i]; // ... your code using currentElement ... }</code>>
>预定的长度尝试:(与缓存版本相似的性能)
<code class="language-javascript">for (let i = 0; i < myArray.length; i++) { let currentElement = myArray[i]; // ... your code using currentElement ... }</code>
常见问题(常见问题解答):
>
<code class="language-javascript">let len = myArray.length; let i = 0; for (; i < len; i++) { let currentElement = myArray[i]; // ... your code using currentElement ... }</code>>和
循环之间进行选择的关键差异和注意事项的摘要:>
$.each
功能:for
迭代在数组和对象上,提供简洁的语法。
性能:$.each
循环(尤其是使用可变缓存)通常由于功能降低而更快。 较大的数据集使用差异更为明显。for
>可读性: 可以改善简单迭代的代码可读性。 for
循环更明确。
>打破循环:$.each
>回调打破了循环。 for
loops使用
在
false
$.each
> nodelist/htmlCollection:for
>与NodeLists和HTMLCollections一起使用,但break
>是指dom元素,而不是jQuery对象。 用
本机
:
>$.each
>对象迭代:this
两者都可以在对象上迭代。$(this)
>
稀疏数组:forEach
在稀疏数组中跳过未定义的索引,而> loops也包括它们。forEach
>
链接:$.each
不像其他jQuery方法那样支持链接。
循环。 对于较小的数据集或最重要的可读性时,jQuery'sfor
更方便。 将JavaScript的本地$.each
视为JQueryforEach
的更快替代品。
以上是速度问题jQuery。的详细内容。更多信息请关注PHP中文网其他相关文章!