在IF语句中比较字符串

时间:2016-01-11 04:22:12

标签: javascript

在这种情况下,country_code可以是DE或GB。

var cc = country_code

if (cc.equals == "GB"){
    console.log("You're in the UK")
  }
  else {
    console.log("You're not in the UK")
}

为什么这句话会引起不正确的回应?

编辑:

失踪"是一个错字。 到目前为止,这些解决方案还没有成功。

我将country_code设置为XMLHttpRequest对象的文本响应。 如果这有帮助吗?

4 个答案:

答案 0 :(得分:2)

您必须使用Equal==operator来检查cc的值是否等于字符串文字"GB"。或者您可以使用Strict equal===)运算符来查看操作数是否相同且类型相同。

同样,console.log分支中else调用的参数必须在引号内,否则您将收到语法错误。字符串文字必须始终包含在'"

var cc = country_code;

if (cc == "GB"){
    console.log("You're in the UK")
}
else {
    console.log("You're not in the UK")
}

答案 1 :(得分:1)

  

在这种情况下,country_code可以是DE或GB。

这意味着变量country_code字符串

因此,cc.equals == "GB"将返回undefined,因为String原型上没有成员属性equals

要比较两个字符串,请使用equality operator ==strict equality operator ===

if (cc === "GB") {

此外,在else块中,缺少引号。 它应该是

console.log("You're not in the UK")
            ^

这是完整的代码:

var cc = country_code;

if (cc === "GB") { // Use equality operator to compare strings
    console.log("You're in the UK");
} else {
    console.log("You 're not in the UK"); // Added missing quote
}

答案 2 :(得分:1)

var cc = country_code;

    if (cc == "GB"){
        console.log("You're in the UK");
    }
    else {
        console.log("You're not in the UK");
    }

答案 3 :(得分:0)

之所以发生这种情况,是因为我的XMLHttpRequest对象的文本响应实际上是“GB” - 三个字符长。

我把它减少到两个并且它工作正常: cc.substring(0,2)