从Javascript中的if块退出
Exit from if block in Javascript
我想退出下面的Java脚本中的if块。如果我返回,那么它不会检查下一个if条件。我该怎么做?
if ($('#id1').length > 0) {
if(yester_energy == "NaN" || yester_energy == 0){
//break from #id1
}
else{
//something
}
$("#abc").html(somthing)
}
if ($('#id2').length > 0) {
if(yester_energy == "NaN" || yester_energy == 0){
//break from #id2
}
else{
//something
}
}
派对非常晚,但对于搜索人员来说,您可以使用labeling
。这不是一个好的做法,但在极少数情况下可以应用。基本上,您可以为想要中断的if
语句指定一个名称。语句中的任何位置都从指定的名称调用break
。
代码示例:
my_if: if (condition) {
// do stuff
break my_if;
// not do stuff
}
在您的特殊情况下:
id1: if ($('#id1').length > 0) {
if(yester_energy == "NaN" || yester_energy == 0){
break id1;
}else{
//something
}
$("#abc").html(somthing)
}
有关labeling
的更多信息,请点击此处:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label#Syntax
甚至在派对之后。。。通常在这种情况下,我使用if
和do...while
的组合,如下所示。。。
if ( condition ) do {
// processing
if ( exit_condition ) break;
// more processing...
} while ( false );
因此,当遇到break
时,它应用于do...while
循环,并且在while
之后继续处理,有效地突破了外部if
语句。。。
if(isNaN(yester_energy) || yester_energy == 0)
之后的所有代码都在else
块中,因此如果数据与该if
匹配,则不会执行该代码。而且你根本不需要其他任何东西。
此外,如果您想检查变量是否获得了NaN
值,请使用isNaN()
函数。你不能只比较它。
使用开关状态,
switch(n)
{
case 1:
execute code block 1
break;
case 2:
execute code block 2
break;
default:
code to be executed if n is different from case 1 and 2
}
您可以使用函数并传递命令
function iff(condition){
if(condition ==0) return;
console.log("other commands")
}
iff(0);
iff(1)
不要使用标签
你可以按照另一个答案的建议进行标记,但它闻起来很不对劲,肯定会在代码审查中出现。它会混淆代码的读者,并增加代码库的维护负担。
答案
最好的方法是将if语句中的代码重构(提取)为一个单独的函数,然后可以从中提取return
。除了允许您提前退出代码块之外,它还使您的代码更加模块化和可读。
示例(基于OP)
if ($('#id1').length > 0) {
ifInner(yester_energy)
$("#abc").html(somthing) // [sic]
}
if ($('#id2').length > 0) {
ifInner(yester_energy)
}
// Rename to something more descriptive.
function ifInner(yester_energy) {
if (yester_energy == "NaN" || yester_energy == 0){
// Break out.
return;
}
else {
// something
}
}
向池中添加另一个答案,在许多情况下,使用try-catch是完全合理的:
if(something is allowed) {
try {
if(missing requirements) throw 'missing requirements'
//do your stuff;
}
catch {
//you may do logging and issue warning here
}
}
- 可以't让我的if语句处理js中的html表单输入
- 如果 a 为 false,则 if(a) === if(false)
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 正在尝试使用if和else添加类,但无法正常工作
- 弹出窗口出现,然后退出
- 在PHP中使用javascript更改页面标题'if'
- 退出全屏不起作用
- 基于两个条件退出While循环
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- 如何在 API 调用后和 if 语句中启用提交按钮
- 带有多个elseif的Javascript if语句
- 什么是&&在没有if的行中的变量之间
- 从Javascript中的if块退出
- if-else-if JavaScript 返回 true 并退出,无论输入如何
- 在If/Else should中,您应该使用空白回车来退出
- 使用条件if退出程序
- 退出if语句
- JavaScript:试图退出if语句中的onbeforenload函数
- 使用嵌套的if语句,如何退出最高级if