4

我想知道是否在某些情况下留下空的 if 语句:

else if(typeof console === 'undefined'){}

只是让代码绕过函数的其余部分这是一种公认​​且安全的工作方式,还是针对这些情况有其他推荐做法?谢谢你。

4

5 回答 5

5

根据您提供给我的信息,我可以得出答案是“否”。它会起作用,但它的风格很糟糕。如果您想绕过该函数的其余部分,为什么不return;将大部分逻辑放在与其相关的if语句中,以便根本没有绕过?

于 2012-10-10T09:51:08.023 回答
4

将分支留空既好又安全if,我唯一要添加的是评论:

else if(typeof console === 'undefined')
{
    //explanation why nothing has to go here
}

在没有看到其余代码的情况下,我不确定您如何使用它来“绕过其余功能”,可能有更好的方法来做到这一点。

于 2012-10-10T09:51:16.053 回答
1

与 Pioul 的回答相同,但我要补充一点,在 javascript 中检查存在的 imo 看起来更整洁!(不是)运算符。

if(!!console){
    // your code
}
// else if(!console){}
// you don't need that second part
于 2012-10-10T10:01:33.227 回答
1

只是不要为您不想处理的案例编写块。

如果您只想在console存在时做某事,请执行以下操作:

if(typeof console !== 'undefined'){
    // your code
}
// else if(typeof console === 'undefined'){}
// you don't need that second part

或者我没有完全理解你的问题?

于 2012-10-10T09:54:27.403 回答
0

有时打印出调试信息很有用:-

if(typeof console !== 'undefined'){
    console.log("debug info");
}

然后,在发布代码之前,简单地注释掉所有console.log的

//        console.log("debug info");

这可以通过宏来完成。

它将留下一个空的 if 语句。但这不是编译错误,所以没关系。

请注意,如果您要注释掉该行,则使用大括号很重要。否则,您的下一行将取决于 if 语句,这将是一种耻辱。

于 2018-06-28T07:32:21.787 回答