我是 JS 的新手,知道以下两个 if 语句条件之间的区别是非常有用的......
第一个条件(实际上不工作):
if ( window.location.pathname == '/#register' ) {
// Code
}
第二个条件:
if (document.URL.indexOf("#register") >= 0) {
// Code...
}
仅供参考,这将帮助我解决我在这里遇到的错误
我是 JS 的新手,知道以下两个 if 语句条件之间的区别是非常有用的......
第一个条件(实际上不工作):
if ( window.location.pathname == '/#register' ) {
// Code
}
第二个条件:
if (document.URL.indexOf("#register") >= 0) {
// Code...
}
仅供参考,这将帮助我解决我在这里遇到的错误
第一个检查完全匹配。它在不包含哈希的路径名上执行此操作,因此它可能不会执行您想要的操作。
第二个检查字符串 contains "#register"
,因此完整路径可能更大,例如/#register_or_not
或/some/other/path#register
可能您最好的选择是对 URL 进行正则表达式模式匹配,以确保它匹配的散列仅是“注册”,同时允许 URL 的其余部分为任何内容:
if (document.URL.match(/.*#register$/)) {
第二个只是检查url是否包含#register,第一个是url路径,你也可以使用location.hash
if(location.hash=='#register') { //....
第一个在window.location.pathname
和之间执行完全匹配/#register
。第二个#register
查找document.URL
.
这个 if 块检查字符串是否相等
if ( window.location.pathname == '/#register' ) {
// Code
}
indexOf() 方法返回指定值在字符串中第一次出现的位置。
如果要搜索的值从未出现,则此方法返回 -1。
if (document.URL.indexOf("#register") >= 0) {
// Code...
}