我想知道在某些情况下是否留下空if语句:
else if(typeof console === 'undefined'){}
只是让代码绕过函数的其余部分这是一种可接受且安全的工作方式,或者对这些情况有其他推荐做法?谢谢。
答案 0 :(得分:3)
根据您提供给我的信息,我可以回答答案是“不”。它会起作用,但它的风格很糟糕。如果您想绕过函数的其余部分,为什么不return;
或者将if
语句中的大多数逻辑放在与它相关的语句中,以便根本没有绕过?
答案 1 :(得分:2)
将if
个分支留空是好的和安全的,我唯一要补充的是评论:
else if(typeof console === 'undefined')
{
//explanation why nothing has to go here
}
如果没有看到剩下的代码,我不确定你是如何使用它来“绕过函数的其余部分”,可能有更好的方法来做到这一点。
答案 2 :(得分:1)
只是不要为你不想处理的案件写一个块。
如果您只想在console
存在时执行某些操作,请执行以下操作:
if(typeof console !== 'undefined'){
// your code
}
// else if(typeof console === 'undefined'){}
// you don't need that second part
或许我没有完全解决你的问题?
答案 3 :(得分:1)
与Pioul的答案相同,但我补充说,imo检查javascript中的存在看起来更加整洁! (notnot)运营商。
if(!!console){
// your code
}
// else if(!console){}
// you don't need that second part
答案 4 :(得分:-1)
有时候打印出调试信息很有用:-
if(typeof console !== 'undefined'){
console.log("debug info");
}
然后,在发布代码之前,只需注释掉所有console.log的
// console.log("debug info");
这可以通过宏完成。
它将保留一个空的if语句。但这不是编译错误,所以可以。
请注意,如果要注释掉该行,请务必使用大括号。否则,下一行将取决于if语句,这将令人感到羞耻。