如何将多个 Javascript 语句条件与 "OR" 确认一起使用
How to use multiple Javascript statement conditions with an "OR" confirm
我有以下函数包含 javascript 中的条件。
function dosomething(id, action) {
if (action != 'delete' || confirm("Are you sure?")) {
alert('if action equals delete, then it has been confirmed');
// long lines of code executed here.
}
}
在上面的函数条件中,它检查 action 是否不等于 "delete"。如果它等于删除,它会在继续之前给出确认。但我想添加另一个值以及 "delete",其中 "Are you sure?" 消息 shows/needs 确认。
我无法执行此操作,我尝试了以下方法。
if ((action != 'delete' || action != 'report') || confirm("Are you sure?")) { ...
我想做的是,如果操作 == 删除或报告,确认消息应该弹出。
我不想写两个不同的if语句(如下图),因为有很多代码需要确认后执行,这将是一种不好的做法。
if (action != 'delete' || confirm("Are you sure?")) {
然后
if (action != 'report' || confirm("Are you sure?")) {
谢谢
做这样的事情可能会更清楚,减少缩进和仔细阅读布尔逻辑的需要:
function dosomething(id, action) {
if (action === 'delete' || action === 'report') {
if (!confirm("Are you sure?")) return;
}
// long lines of code executed here.
}
可能像
那样把它写在一张支票上
if ((action === 'delete' || action === 'report') && !confirm("Are you sure?")) return;
但 IMO 的可读性较差。
我有以下函数包含 javascript 中的条件。
function dosomething(id, action) {
if (action != 'delete' || confirm("Are you sure?")) {
alert('if action equals delete, then it has been confirmed');
// long lines of code executed here.
}
}
在上面的函数条件中,它检查 action 是否不等于 "delete"。如果它等于删除,它会在继续之前给出确认。但我想添加另一个值以及 "delete",其中 "Are you sure?" 消息 shows/needs 确认。
我无法执行此操作,我尝试了以下方法。
if ((action != 'delete' || action != 'report') || confirm("Are you sure?")) { ...
我想做的是,如果操作 == 删除或报告,确认消息应该弹出。
我不想写两个不同的if语句(如下图),因为有很多代码需要确认后执行,这将是一种不好的做法。
if (action != 'delete' || confirm("Are you sure?")) {
然后
if (action != 'report' || confirm("Are you sure?")) {
谢谢
做这样的事情可能会更清楚,减少缩进和仔细阅读布尔逻辑的需要:
function dosomething(id, action) {
if (action === 'delete' || action === 'report') {
if (!confirm("Are you sure?")) return;
}
// long lines of code executed here.
}
可能像
那样把它写在一张支票上if ((action === 'delete' || action === 'report') && !confirm("Are you sure?")) return;
但 IMO 的可读性较差。