是否有更有效的方法来搜索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等。
答案 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
这是一个基准测试,在这种情况下无需优化