Performance of Javascript replace vs jQuery replace

Performance of Javascript replace vs jQuery replace

本文关键字:replace vs jQuery Javascript of Performance      更新时间:2023-09-26

在另一个问题中,我遇到了两种不同的字符串替换方法。

一种是jQuery方式$ ("#element").text().replace(',', '.'),另一种是首先获取文本然后调用.replace(/,/, '.')的纯Javascript方式。

使用 jQuery

方法是否有很大的性能影响,或者任何其他不使用它的原因(假设页面上已经有 jQuery)?

这两种方法本质上是相同的。

$('#element').text()返回一个字符串,因此您在两个示例中都调用了 String.prototype.replace()。

我能看到的唯一区别是,在第一种方法中,您使用字符串进行替换,而在第二种方法中,您使用正则表达式。 在您给出的示例中,字符串方法会更快:

http://jsperf.com/string-replace-vs-regexp

如果你真的想获得最佳性能,我建议使用纯JavaScript:

document.getElementById( 'element' ).innerText.replace( ',', '.' )

两种替换方法完全相同,诚然,一种使用字符串,另一种使用正则表达式,但底层的 JavaScript 替换方法是相同的。唯一的区别是检索要对其执行替换的字符串的方法。

retreieval 的 jQuery 方法会稍微慢一些,但不会有任何明显的方式。

一般来说,jQuery几乎总是会变慢,尽管优势通常大于性能的打击。 在这种情况下,我怀疑jQuery只是添加了此方法,以提供更方便的方法来执行相同的操作。

除非你要去很多替换电话,否则我什至不会担心它。

你实际上也在做同样的事情。但是,如果要考虑速度。在jQuery选择器上更精确。