在这种情况下,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对象的文本响应。 如果这有帮助吗?
答案 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)