javascript - 十几层的if else怎么优化啊

查看:124
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆