JavaScript中等式中逻辑运算符的组合,有人能给我解释一下吗?

JavaScript中等式中逻辑运算符的组合,有人能给我解释一下吗?,javascript,Javascript,有人能解释一下这个等式是如何工作的吗?这个等式中组合的运算符太多了 url = tmpUrl && tmpUrl.indexOf("/customURL?") > -1 ? tmpUrl.substring(0, tmpUrl.indexOf("/customURL")) : tmpUrl.split("?")[0] || tmpUrl 这就是问题的症结所在 if (tmpUrl) { if (tmpUrl.indexOf("/customURL?") > -1

有人能解释一下这个等式是如何工作的吗?这个等式中组合的运算符太多了

url = tmpUrl && tmpUrl.indexOf("/customURL?") > -1 ? tmpUrl.substring(0, tmpUrl.indexOf("/customURL")) : tmpUrl.split("?")[0] || tmpUrl

这就是问题的症结所在

if (tmpUrl) {
  if (tmpUrl.indexOf("/customURL?") > -1) {
    url = tmpUrl.substring(0, tmpUrl.indexOf("/customURL"))
  } else {
    if (tmpUrl.split("?")[0]){
      url = tmpUrl.split("?")[0]
    } else {
      url = tmpUrl
    }
  }
}

这里没有使用位运算符

在哪里可以看到位运算符?位运算符只使用单个字符
&
|
。双重
&&
|
是,它们与按位版本非常不同。它的意思是,如果有
tmpUrl
&
/customURL?存在
tmpUrl.indexOf(“/customURL?”)>-1
,然后获取url和路径,否则会溢出到
上,并获取url参数,但这是一个非常详细的
解码组件(uri)