【问题标题】:javascript leaving an empty if statementjavascript留下一个空的if语句
【发布时间】:2012-09-30 18:04:27
【问题描述】:

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

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

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

【问题讨论】:

  • 这很安全,但更好的方式是从函数返回

标签: javascript


【解决方案1】:

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

【讨论】:

  • 如果没有看到其余的代码,很难说出最好的解决方案是什么。
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

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

    如果你只想在console 存在时做某事,那么就这样做:

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

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

    【讨论】:

    • tks 我已经这样做了,但我需要这样做以避免这种情况来执行我在函数中的 else
    • ^ 同样,我几乎可以 100% 保证您不会。
    【解决方案4】:

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

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

    【讨论】:

    • 我被建议使用 allways === 来避免真实情况。同样在一个关于 javascript 的谷歌谈话视频中,好的部分推荐了这个
    【解决方案5】:

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

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

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

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

    这可以通过宏来完成。

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

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

    【讨论】:

    • 我们是如何接触到 Python 的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    相关资源
    最近更新 更多