JavaScript - 是否有必要先检查条件

JavaScript - Is it necessary to check for condtion first

本文关键字:检查 条件 是否 JavaScript      更新时间:2023-09-26

我想知道是否有必要检查这个特定示例中的条件。

我说的条件是if ( Id.indexOf("_") ).

它只是检查Id是否有下划线,如果有,则将变量设置为去除下划线并替换为连字符。

我知道我可以在没有 if 语句的情况下使用 Id = Id.split("_").join("-"); 检查条件是否为真,但只是想知道在这种情况下先检查条件是否是一种好习惯?

你会用哪种方式去做?并解释一下原因。

    Id = "My_ID";
    var brand = "The Brand";        
    var b = brand.trim().toLowerCase();
    var page = b.split(/'W+/g).join("-");
    if ( Id.indexOf("_") ) {
      Id = Id.split("_").join("-");
    }

如果没有下划线,您的split()不会做任何事情,所以不 - 这里不需要if。选择这样的东西,你没事:

Id = Id.split("_").join("-");

Id = Id.replace(/_/g, '-');

以避免先创建数组。

这可以回答你的问题:

console.log("mytext".split("_").join("-"));  // mytext
console.log("my_text".split("_").join("-")); // my-text

此外,代码中的条件if (Id.indexOf("_"))无法按预期工作。您需要使用if (Id.indexOf("_") > -1)(~Id.indexOf("_"))