Javascript 调用布尔值vs.不等于-1

Javascript 调用布尔值vs.不等于-1,javascript,boolean,equals,boolean-logic,Javascript,Boolean,Equals,Boolean Logic,我正在开发一个函数,该函数从相应的前缀(如www、.com等)中获取域名。我有点困惑,调用我的别名为true和调用别名不等于-1之间有什么区别 从技术角度来看,有人能帮助我理解为什么not-equal-1方法与仅将别名称为true相反?(我可能在断章取义地回答这个问题,所以请纠正我的语言用法) 我最初是从这个开始的,但它不起作用 函数getDomain(url){ //创造结果 让结果=“”; 让我们搜索www=‘www’; 让searchHTTP='http://'; 让searchHTTP

我正在开发一个函数,该函数从相应的前缀(如www、.com等)中获取域名。我有点困惑,调用我的别名为true和调用别名不等于-1之间有什么区别

从技术角度来看,有人能帮助我理解为什么not-equal-1方法与仅将别名称为true相反?(我可能在断章取义地回答这个问题,所以请纠正我的语言用法)

我最初是从这个开始的,但它不起作用

函数getDomain(url){ //创造结果 让结果=“”; 让我们搜索www=‘www’; 让searchHTTP='http://'; 让searchHTTPS='https://'; 设searchDOT='; 让searchCOM='.com'; 设searchCO='.co'; 设searchRU='.r'; 让indexOfStart=url.indexOf(searchWWW); 让indexOfStartHTTP=url.indexOf(searchHTTP); 让indexofstarttps=url.indexOf(searchHTTPS); 让indexOfEnd=url.indexOf(searchCOM); 设indexOfEndDot=url.indexOf(searchDOT); //如果www if(indexOfStart){ //从www到dot的切片 result+=url.slice(indexOfStart+4,url.indexOf(searchDOT,(indexOfEndDot+1)); //如果没有www和https }如果(!indexOfStartHTTPS),则为else{ //从https到点的切片 result+=url.slice(indexofstarttps+8,indexofndot); }否则{ result+=url.slice(indexOfStartHTTP+7,indexofndot); } //返回结果 返回结果;
}除0以外的所有数字都是真实的<代码>-1是一个真实的数字。因此,将其从
if(thatVariable)
更改为
if(thatVariable!=-1)
会改变if语句中的行为。更重要的是
indexOf()
在未找到搜索字符串时返回-1,因此专门测试它会使澄清最有意义,这两点使这一点更加明确。我没有考虑truthy会改变行为的事实,并且对索引()1的本地功能进行测试是最有意义的。