我想知道是否有更干净的方法来编写此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/