首页 > 解决方案 > javascript - if and or (||) 语句

问题描述

if (window.location.pathname == "/" || window.location.pathname == "/yyy.asp") {
  runSlideShow();
}
if (
  window.location.pathname == "zzzz.html" ||
  window.location.pathname == "/xxx.html"
) {
  runSlideShow();
}

如何合并if语句,以便只有一个{runSlideShow();}而不是两个;

目前我似乎不能有两个以上的带有 || 的 window.location.pathname 语句 介于两者之间。

标签: javascriptif-statementmergeconditional-statements

解决方案


可以合并您的条件并显着减少您的代码。

if (['/', '/yyy.asp', 'zzzz.html', '/xxx.html'].includes(location.pathname))
    runSlideShow();

或者,对于它来说,更短但可读性/可扩展性更低:

if (/^(?:(\/(yyy\.asp|xxx\.html)?)|zzzz\.html)$/.test(location.pathname))

推荐阅读