繁体   English   中英

JS-这里有什么区别?

[英]JS - What is the difference here?

我是JS的新手,知道以下两个if语句条件之间的区别是非常有用的...

第一个条件(实际上不起作用):

if ( window.location.pathname == '/#register' ) {

// Code

}

第二个条件:

if (document.URL.indexOf("#register") >= 0) {

// Code...

}

仅供参考,这将帮助我解决我在这里遇到的错误

第一个检查完全匹配。 而且它是在不包含哈希的路径名上完成的,因此它可能并没有满足您的要求。

第二个检查字符串是否包含"#register" ,因此完整路径可能更大,例如/#register_or_not/some/other/path#register

可能最好的选择是对URL进行正则表达式模式匹配,以确保其匹配的哈希仅“注册”,同时允许URL的其余部分为任意值:

if (document.URL.match(/.*#register$/)) {

第二个只是检查网址是否包含#register,第一个是网址路径,您也可以使用location.hash

if(location.hash=='#register') { //....

第一个在window.location.pathname/#register之间执行完全匹配。 第二个在document.URL任何地方查找#register

这个if块检查字符串是否相等

if ( window.location.pathname == '/#register' ) {

 // Code

}

indexOf()方法返回字符串中第一次出现指定值的位置。

如果要搜索的值永不出现,则此方法返回-1。

if (document.URL.indexOf("#register") >= 0) {

   // Code...

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM