我在函数中有这个if / else循环,我只是想知道这是否是一个可接受的'做事的方式。它做我想做的事情,但我认为必须有一个更优雅的解决方案。
var signUpCheckAll = function(username, password, passwordconf, email){
if (emptyChecker(username, password)) {
if (emptyChecker(passwordconf, email)) {
if (lengthChecker(password)) {
if (passwordCheck(password, passwordconf)) {
return true;
}
else{
console.log("Passwords don't match!");
}
}
else{
console.log("Password isn't long enough!");
}
}
else{
console.log("Some fields are empty!");
}
}
}
由于
答案 0 :(得分:3)
我个人(也可能是其他许多人)认为这更具可读性:
if (!emptyChecker(username, password)) {
console.log("Some fields are empty!");
}
else if (!emptyChecker(passwordconf, email)) {
//Where’s the message?
}
else if (!lengthChecker(password)) {
console.log("Password isn't long enough!");
}
else if (!passwordCheck(password, passwordconf)) {
console.log("Passwords don't match!");
}
else {
return true;
}
我还建议您重命名您的功能。目前尚不清楚函数名passwordCheck
的作用。函数名称应始终包含表示函数的操作或返回的动词。 passwordsMatch
更好。 (然后,您可以将该行读作“如果(不是)密码(不)匹配”。)