我查看了有关该主题的其他问题,没有具体说明我的主题。
是否有任何规则禁止使用此类代码。我觉得在这种情况下,使用else如果没用,因为每个if都有一个return语句。
var __sortBySortType = function(x, y, index, type) {
if (type === "name") {
x[0]["sortname"] = x[0]["sortname"] || x[0]["name"];
y[0]["sortname"] = y[0]["sortname"] || y[0]["name"];
type = "sortname";
}
if (typeof global !== "undefined" && typeof global.locale !== "undefined" && global.locale.compareString !== "undefined" && index === 0) {
return sim.locale.compareString(x[index][type], y[index][type]);
}
if (x[index][type] > y[index][type]) {
return 1;
}
if (x[index][type] < y[index][type]) {
return -1;
}
//If sorting by grades return sorting by whatever is diplayed (name, login or id)
return (index === 0)? 0 : __sortBySortType(x, y, 0, this.displayType);
}
由于
答案 0 :(得分:1)
鉴于你有每个if语句的回报,不应该有区别。尽管为了将来的可维护性,最好还是使用if-elseif-else。我发现一眼就能更容易地阅读,因为它知道所有这些都与一个选项块有关。