首页 > 解决方案 > 在 if 语句条件字段中传递函数

问题描述

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

标签: javascriptfunctionif-statement

解决方案


假设您有一些关于用户的数据。

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
}

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


推荐阅读