2

window.location.href を検索するより効率的な方法はありますか?

window.location.href:http://www.example.com/6CATA/folder/file.html

私が持っている現在のコードは次のとおりです。

var searchWinHref = window.location.href;
if(searchWinHref.indexOf("/6CATA/") > -1) {
  alert('6CATA is in the window.location.href');
}

これは問題なく動作しますが、可能な場合はコードを最適化する方法を学ぼうとしています。ページでこれを数回行う必要がある場合は、より効率的な方法があるかどうか知りたいですか?

編集:

明確にするために、さまざまなバリエーションの URL を時々検索する必要があります。たとえば、6CATA と 6CATB などです。

4

4 に答える 4

2

いいえ、結構です。を使用することもできますlocation.pathname.split('/').contains("6CDATA")が、これはまったく同等です。コードを最適化し、そのようなマイクロ最適化を本当に気にする場合は、必要に応じて結果を変数にキャッシュしてください。

于 2012-11-13T15:20:31.313 に答える
1

を使用することもできますwindow.location.pathnameが、そのコードの小さなチャンクから速度を向上させることはできません。

于 2012-11-13T15:16:41.623 に答える
1

パフォーマンスに関しては、これは問題ないように見えます。特に、数回しか呼び出していない場合はそうです。

ただし、クライアント側でこのチェックを行う必要がありますか? これは、サーバー上で行うのにより適している可能性があります。しかし、それはあなた次第です...

于 2012-11-13T15:18:02.253 に答える
1

http://jsperf.com/test-vs-match-vs-indexof-vs-search-2/2

これがベンチマークです。この場合、最適化は必要ありません

于 2012-11-13T15:19:02.913 に答える