一个巧妙的连续判断写法

2017-03-24  本文已影响82人  Armin0202

写在前面

在 js 里面,连续判断的最重要的场景,莫过于表单数据发送前验证了。

// 表单数据
let form = {
    name: 'Harry',
    email: '',
    age: 23
}
// 提示信息
let words = {
    name: '名字为空',
    email: '邮箱为空',
    age: '年龄为空'
}

if ( !form.name ) {
    alert(words.name)
    return false;
} else if ( !form.email ) {
    alert(words.email)
    return false;
} else if ( !form.age ) {
    alert(words.age)
    return false;
} 

每一个判断都要写弹框代码,还要return 。
有没有感觉又臭又长,看下面...


try {
    if (!form.name) throw new Error(words.name)
    else if (!form.email) throw new Error(words.email)
    else if (!form.age) throw new Error(words.age)
} catch (e) {
    alert(e.message)
    return false
} 

只写一次弹框代码,一次return。
try 语句里面只需要关注逻辑代码,而交互代码完全放到catch语句中去。
对于一些比较复杂的连续判断,这个代码量,会大量减少的。


上一篇 下一篇

猜你喜欢

热点阅读