搜索一个字符串的window.location.href更有效的方法?

时间:2012-11-13 15:14:21

标签: javascript jquery

是否有更有效的方法来搜索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 个答案:

答案 0 :(得分:2)

不,那很好。您可以使用location.pathname.split('/').contains("6CDATA"),但这非常相同。如果您想优化代码并真正关心这种微优化,请在需要时将结果缓存到变量中几次。

答案 1 :(得分:1)

你可以使用window.location.pathname,但是你不会从那小块代码中获得任何速度提升。

答案 2 :(得分:1)

就性能而言,这看起来很好 - 特别是如果你只是多次调用它。

你确定需要在客户端检查吗?这可能是更适合在服务器上执行的操作。但这取决于你...

答案 3 :(得分:1)

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

这是一个基准测试,在这种情况下无需优化