我的问题是关于最佳实践的,我有很长的if else语句,我想知道是否可以将条件提取到单独的函数中,然后将其作为条件传递。请参见下面=>
if (functionA (a, b)) {
// do something
} else if (functionB (a, b)) {
// do something else
}
function functionA (a, b) {
return a - b === 0
}
function functionB (a, b) {
return a * b != 1
}
答案 0 :(得分:2)
假设您有一些有关用户的数据。
var userId = 1;
var userGroup = 'admin';
现在让我们写一些条件
if(userId === 1) {
// UserID is 1
}
if(userGroup === 'admin') {
// UserGroup is admin
}
它可以正常工作,但我们可以使它更加清楚。
function isUserId(_id) {
return userId === _id;
}
function isUserInGroup(_group) {
return userGroup === _group;
}
if(isUserId(1)) {
// User id is 1
}
if(isUserInGroup('admin')) {
// User is in group admin
}
看起来更好,更容易阅读。