1

別の質問で、文字列の置換を行う2つの異なる方法に出くわしました。

1つはjQueryの方法$("#element").text().replace(',', '.')で、もう1つは最初にテキストを取得してからを呼び出す純粋なJavascriptの方法です.replace(/,/, '.')

jQueryメソッドを使用することでパフォーマンスに大きな打撃がありますか、またはそれを使用しない他の理由がありますか(ページにすでにjQueryがあると仮定します)?

4

4 に答える 4

3

これらは両方とも本質的に同じ方法です。

$('#element').text()文字列を返すため、両方の例でString.prototype.replace()を呼び出しています。

私が見ることができる唯一の違いは、最初の方法では置換に文字列を使用しており、2番目の方法では正規表現を使用していることです。あなたが与えた例では、文字列メソッドはより速くなります:

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

本当に最高のパフォーマンスを実現したい場合は、純粋なJavaScriptを使用することをお勧めします。

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

于 2012-04-10T12:51:54.937 に答える
0

置換の両方の方法はまったく同じです。確かに、一方は文字列を使用し、もう一方は正規表現を使用していますが、基になるjavascriptの置換方法は同じです。唯一の違いは、置換を実行する文字列を取得する方法です。

取得のjQueryメソッドはわずかに遅くなりますが、目立った方法ではありません。

于 2012-04-10T12:50:22.800 に答える
0

一般的に言って、jQueryはほとんどの場合遅くなりますが、通常、パフォーマンスの低下よりも利点が優先されます。この場合、jQueryがこのメソッドを追加して、同じことを行うためのより便利な手段を提供しているのではないかと思います。

たくさんのリプレースコールを行わない限り、私はそれについて心配することさえありません。

于 2012-04-10T12:51:58.707 に答える
0

あなたは事実上同じことをしています。しかし、速度を考慮する必要がある場合。jQueryセレクターをより正確に。

于 2012-04-10T12:58:37.310 に答える