javascript - 在 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
}
解决方案
假设您有一些关于用户的数据。
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
}
看起来更好,更容易阅读。
推荐阅读
- sql-server - SQL Server 数据库的 SQL 脚本导出的命令行方法
- php - 为什么这个文件锁定功能会失败?
- java - 编译时收到错误消息(Java Web 项目)
- python-3.x - 保存处理后的图像
- node.js - 如何缓存执行然后退出的节点代码
- ruby-on-rails - 在单独的 docker 容器中反向代理 nginx 和 rails
- typescript - React-Native TSLint 配置可用于修复性能问题
- python - 如何将集合和单个值映射到函数
- prestashop-1.6 - prestashop1.6 中的 URL 中断
- python - 更改列表列表并在 python 2.7 中创建一个新列表