javascript - 十几层的if else怎么优化啊
本文介绍了javascript - 十几层的if else怎么优化啊的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
check() {
if(this.checkUsername(this.username)) {
if(this.checkIdCard(this.idCard)) {
if(this.checkTel(this.tel)) {
if(this.dbr == '担保人是本人') {
if(document.querySelector('.sfzzm img')) {
console.log('存在身份证正面')
if(document.querySelector('.sfzfm img')) {
console.log('存在身份证反面')
if(document.querySelector('.xlzs img')) {
console.log('存在学历证书')
if (this.ydxy) {
this.tijiaoIsShow = false
}
} else {
Toast('请上传学历证书')
this.tijiaoIsShow = true
}
} else {
Toast('请上传身份证反面')
}
} else {
Toast('请上传身份证正面')
}
} else if(this.dbr == '担保人不是本人') {
if(this.checkUsername(this.dbrname)) {
if(this.checkIdCard(this.dbridCard)) {
if(this.checkTel(this.dbrzyzh)) {
if(document.querySelector('.sfzzm img')) {
console.log('存在身份证正面')
if(document.querySelector('.sfzfm img')) {
console.log('存在身份证反面')
if(document.querySelector('.xlzs img')) {
console.log('存在学历证书')
this.tijiaoIsShow = false
} else {
Toast('请上传学历证书')
}
} else {
Toast('请上传身份证反面')
}
} else {
Toast('请上传身份证正面')
}
} else {
Toast('请输入担保人展业证号')
}
} else {
Toast('请输入担保人身份证号')
}
} else {
Toast('请输入担保人姓名')
}
}else {
Toast('请选择担保人是否为本人')
}
} else {
Toast('请输入正确的电话号码')
}
} else {
Toast('请输入正确的身份证号')
}
} else {
Toast('请输入正确的姓名')
}
}
上面的信息都填写好了,提交按钮才会显示,但是这样太low了,for循环也不是太好,有什么办法优化一下呢
解决方案
如果只是嫌嵌套多的话,可以一段一段地表达出意思,不必嵌在一起
比如:
if(!this.checkUsername(this.username)){
Toast('请输入正确的姓名');
return;
}
if(!this.checkIdCard(this.idCard)){
Toast('请输入正确的身份证号');
return;
}
当前面判断不过,不让他继续往下执行,如果后面哪个判断条件不需要了,就直接删除这块代码
这篇关于javascript - 十几层的if else怎么优化啊的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文