在if语句条件字段中传递函数

时间:2018-12-24 23:39:43

标签: javascript function if-statement

我的问题是关于最佳实践的,我有很长的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
}

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
}

看起来更好,更容易阅读。