嵌套的条件分支语句绝对是代码维护者的噩梦,对于阅读代码的人来说,嵌套的if else语句相比平铺的if else在阅读和理解上更加困难。

重构前

function func(){  var result;  if( conditionA ) {    if( condintionB ) {        result = 'Success';    } else {        result = 'Error1';    }  } else {    result = 'Error2'  }  return result;}

重构后

function func(){  if( !conditionA ) {    return 'Error2'  }  if( !condintionB ) {    return 'Error1'  }  return 'Success';}

所以合理的反转判断 利用卫语句 就可以很好的优化代码。