结合&&和||在JavaScript上

时间:2015-08-31 20:04:26

标签: javascript

我想说如果URL在当前网址页面中同时包含'admin / deals'和'edit',如果它包含'deals / new',那么就做点什么。< / p>

if (  (window.location.href.indexOf('admin/deals') > -1) 
            && (window.location.href.indexOf('edit') > -1) ) )
|| if (window.location.href.indexOf('deals/new') > -1){
           alert("your url contains the name franky");
      }

但是我收到以下错误:

SyntaxError: expected expression, got ')'

3 个答案:

答案 0 :(得分:4)

语法是:

if (condition) || (condition)
                 ^---no "if" here

所以

if ((a && b) || (c && d)) { ... }

答案 1 :(得分:1)

您不能在另一个if表达式中包含if表达式。试试这个:

if ((window.location.href.indexOf('admin/deals') > -1 && window.location.href.indexOf('edit') > -1) || (window.location.href.indexOf('deals/new') > -1)){
    alert("your url contains the name franky");
}

答案 2 :(得分:0)

你不需要两个if - 你只需将所有条件合并为一个,并添加尽可能多的&amp;&amp;和||如你所知。

您还应该确保每次开放(都有结束)

 if (window.location.href.indexOf('admin/deals') > -1 && 
        window.location.href.indexOf('edit') > -1 || 
        window.location.href.indexOf('deals/new') > -1) {
        alert("your url contains the name franky");
    }

您可能想为window.location.href引入一个变量 像var currentLocation = window.location.href; 然后使用该变量...