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

标签 javascript

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

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

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

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

你会选择哪种方式?请解释原因。

    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, '-');

避免先创建数组。

关于JavaScript - 是否有必要先检查条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35588161/

相关文章:

JavaScript : how to change "this" scope on an event

javascript - View 更改时的全日历渲染事件

javascript - 在 Cloudmade 和 Android 中使用 Polymaps

javascript - 如何删除数组映射中的最后一个\t(制表符)

javascript - 如何删除 iframe 上的图像、播放?使用 JavaScript

Javascript 选择具有包含单词的属性的 anchor

javascript - 在 iOS Safari 上离开页面之前如何要求用户确认?

javascript - 仅在加载图像后将其附加到 DOM

javascript - 通过 Webpack 和 Vue.JS 导入并使用第 3 方包

javascript - Firefox OS 特权应用 : Permission denied to access property 'document' of new window object created