2017-02-18 38 views
0

我无法回顾如何在if语句中比较这两个字符串。我要做的是检查我的变量compare是否等于page1page2如果不是,请转到else语句。如何在javascript中比较两个字符串如果条件为

var compare = "page3"; 
 

 
if (compare === "page1" || "page2") { 
 
    document.body.innerHTML = "github url"; 
 
} else { 
 
    document.body.innerHTML = "non-github url"; 
 
}

+0

'比较===“第2页“'?对你来说似乎是一个奇怪的问题。 – Carcigenicate

+0

比较===“page1”||比较===“page2” – baao

回答

1

你可以检查每一个选项。

if (compare === "page1" || compare === "page2") { 

或者你可以使用一个数组,并与像Array#some针对存在量词检查,像

if (["page1", "page2"].some(a => a === compare)) { 

var compare = "page3"; 
 

 
if (compare === "page1" || compare === "page2") { 
 
    document.body.innerHTML = "github url"; 
 
} else { 
 
    document.body.innerHTML = "non-github url"; 
 
}

1

任何时候你有许多东西在if检查条件,你必须写每个条件彼此分开。因此,测试必须写成:

// If compare equals "page1" OR compare equals "page2" 
if (compare === "page1" || compare === "page2") { 

当你有可能包含许多不同的值,使用switch语句可以更合理和更有效,因为它只有查找的值的单个变量一次变量。

另外,请记住,字符串是文字,“page1”不等于“Page1”。做一个比较是不区分大小写的,可以强制所有的值降低(或上)的情况下,然后再检查他们对彼此的(如图):

switch (compare.toLowerCase()) { 
    case "page1" : 
     // Do work here 
     break; 
    case "page2" : 
     // Do work here 
     break; 
    case "page3" : 
     // Do work here 
     break; 
    default : 
     // Do work here 
     break; 
}