很多时候return可以直接代替else的,这样显得代码更优雅,逼格更高,缺点嘛。。。不利于阅读算一个?

小例子

逻辑:app内嵌入H5,从app中检测登录并取token。先检测cookie,有返回token,没有再判断是否是app环境,是,从app里拿token,否,return false 未登录。

传统型

1
2
3
4
5
6
7
8
9
10
11
12
checkLoginResult: function(){  // 登录返回token,没登录返回false
var token = util.readCookie("token");
if(token){ // cookie里有token 直接返回
return token;
}else{
if(window.native){ // cookie没有 且 是app环境 从app里取token
return native.SXJS_LoginNeedUserToken();
}else{ // 否则 没登录
return false;
}
}
}

改进版1

1
2
3
4
5
6
7
8
var token = util.readCookie("token");
if(token){
return token;
}
if(window.native){
return native.SXJS_LoginNeedUserToken();
}
return false;

改进版2

1
2
3
4
5
6
7
8
var token = util.readCookie("token");
if(!token){
if (!window.native) {
return false;
}
token = native.SXJS_LoginNeedUserToken();
}
return token;

return代替了else,你觉得哪个好?