如何解决调用布尔值与不等于-1
我正在研究一个函数,该函数从相应的前缀(例如www,.com等)中获取域名,并且在将别名称为true和将别名称为not之间有什么区别有点困惑等于-1。
从技术角度看,有人可以帮助我理解为什么不等于-1的方法与仅将别名称为true相对吗? (我可能正在追问这个问题,所以请更正我的语言用法)
我最初是从这个开始的,但是没有用。
function getDomain(url) {
//create result
let result = '';
let searchWWW = 'www.';
let searchHTTP = 'http://';
let searchHTTPS = 'https://';
let searchDOT = '.';
let searchCOM = '.com';
let searchCO = '.co';
let searchRU = '.r';
let indexOfStart = url.indexOf(searchWWW);
let indexOfStartHTTP = url.indexOf(searchHTTP);
let indexOfStartHTTPS = url.indexOf(searchHTTPS);
let indexOfEnd = url.indexOf(searchCOM);
let indexOfEndDot = url.indexOf(searchDOT);
// if www
if (indexOfStart) {
//slice from www to dot
result += url.slice(indexOfStart + 4,url.indexOf(searchDOT,(indexOfEndDot + 1)));
//if no www and no https
} else if (!indexOfStartHTTPS) {
//slice from https to dot
result += url.slice(indexOfStartHTTPS + 8,indexOfEndDot);
} else {
result += url.slice(indexOfStartHTTP + 7,indexOfEndDot);
}
//return result
return result;
}
另一方面,它确实起作用。
//create result
let result = '';
let searchWWW = 'www.';
let searchHTTP = 'http://';
let searchHTTPS = 'https://';
let searchDOT = '.';
let searchCOM = '.com';
let searchCO = '.co';
let searchRU = '.r';
let indexOfStart = url.indexOf(searchWWW);
let indexOfStartHTTP = url.indexOf(searchHTTP);
let indexOfStartHTTPS = url.indexOf(searchHTTPS);
let indexOfEnd = url.indexOf(searchCOM);
let indexOfEndDot = url.indexOf(searchDOT);
// if www
if (indexOfStart !== -1) {
//slice from www to dot
result += url.slice(indexOfStart + 4,(indexOfEndDot + 1)));
//if no www and no https
} else if (!indexOfStartHTTPS) {
//slice from http/https to dot
result += url.slice(indexOfStartHTTPS + 8,indexOfEndDot);
}
//return result
return result;
}
感谢您的帮助,期待得到更好的理解。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。