因此,我正在编写代码以搜索用户输入的邮政编码,然后该代码将说明县(如果有效)或说明县无效(在一个州内)。有趣的是,它行得通,只有第一行,第二行没有被处理,我不确定自己做错了什么。我在网上检查过,似乎与我看到的示例相符。我将在下面显示代码:
function boroughCheck () {
var n = prompt("Enter a zip code", " ");
var entered = "Borough located:";
if( n == "10451"||"10452"||"10453"||"10454"||"10455"||"10456"||"10457"||"10458"||"10459"||"10460"||"10461"||"10462"||"10463"||"10464"||"10465"||"10466"||"10467"||"10468"||"10469"||"10470"||"10471"){
alert(entered + " Bronx ");
}
else if( n == "11201"||"11202"||"11203"||"11204"||"11205"||"11206"||"11207"||"11208"||"11209"||"11210"||"11211"||"11212"||"11213"||"11214"||"11215"||"11216"||"11217"||"11218"||"11219"||"11220"||"11221"||"11222"||"11223"||"11224"||"11225"||"11226"|"11227"||"11228"||"11229"||"11230"||"11231"||"11232"|"11233"||"11234"||"11235"|"11236"||"11237"||"11238"||"11239"||"11241"||"11242"||"11243"||"11245"||"11247"||"11249"||"11251"||"11252"||"11256"){
alert(entered + " Brooklyn ");
}
else
{
alert(" - Invalid Zip Code")}
}
boroughCheck();
因此,这段代码使第一个“ if”语句运行,但没有第二个“ else if”语句运行,我在做错什么。我输入的任何邮政编码都将显示为“布朗克斯”,即使它与我在布鲁克林地区输入的邮政编码相匹配? 有什么想法吗?
答案 0 :(得分:2)
JavaScript写错了。
您需要执行if (n == "10451" || n ==... )
,依此类推。
您还可以通过编写两个数组来避免这种情况,一个数组用于bronx,另一个数组用于布鲁克林,然后以这种方式进行测试:
var bronx = ["10451","10452"];
var brooklyn = ["11201","11202"];
var n = prompt("Enter a zip code", " ");
var entered = "Borough located:";
if(bronx.indexOf(x) === true){
alert(entered + " Bronx ");
}elseif(brooklyn.indexOf(x) === true){
alert(entered + " Brooklyn ");
}else{
alert(" - Invalid Zip Code")}
}
方法3,使用范围。如果这些邮政编码不会更改并且保持一致,
if (n >= 11201 && n <= 11256) {
// bronx
}elseif ( n >= 10451 && n <= 10471 ) {
// brooklyn
}else{
// nope
}