我想知道是否有更干净的方法来编写此javascript代码。 if中的if似乎很普通。如果可能,很高兴使用es5/es6。基本上,我要检查变量是否存在,如果确实存在,我要确保URL包含https,如果不存在,请对其进行更新。

if (blogURL) {
  if (!/^https?:\/\//i.test(blogURL)) {
      var blogURL = 'http://' + blogURL;
  }
}

最佳答案

使用&&在单个if语句中测试这两个条件,并删除var,因为您可能只是想更新现有变量,而不像是在尝试定义新变量。

if (blogURL && !/^https?:\/\//i.test(blogURL)) {
     blogURL = 'http://' + blogURL;
}


之所以可行,是因为如果第一个条件测试失败,则不会执行第二个条件测试。这是在Javascript中执行类似操作的常用方法。

关于javascript - 如果在if语句中,是否有更好的编码方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45429286/

10-10 00:50