Javascript 在if语句条件字段中传递函数
我的问题是关于最佳实践,我有一个很长的if-else语句,我想知道是否可以将条件提取到一个单独的函数中,然后将它们作为条件传递。请参见下文=>Javascript 在if语句条件字段中传递函数,javascript,function,if-statement,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 (
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
}
假设您有一些关于用户的数据
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
}
看起来更好,更容易阅读。假设您有一些关于用户的数据
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
}
看起来更好,更容易阅读。您的示例完全正确。你试过了吗?或者我不明白你的问题是什么。@Oen44哦,是的,它确实有效,我不是说它无效。我在问这是否是正确的做法?这是正确的提取方法吗?完全正确。这是正常做法吗?我找不到以这种方式编写的代码,因此我的问题是:您是否检查了宇宙中的所有代码?几乎每个项目都使用函数来检查某些东西是真是假
isUserLogged
,canAccessPage
等。您的示例完全正确。你试过了吗?或者我不明白你的问题是什么。@Oen44哦,是的,它确实有效,我不是说它无效。我在问这是否是正确的做法?这是正确的提取方法吗?完全正确。这是正常做法吗?我找不到以这种方式编写的代码,因此我的问题是:您是否检查了宇宙中的所有代码?几乎每个项目都使用函数来检查某些东西是真是假isUserLogged
,canAccessPage
等。