js判断字符串是否相等问题!!!搞了半天,蛋都碎了!!!

时间:2022-05-14 14:23:28
function changeAud(Val){
   alert(encodeURIComponent(Val)+"--------"+encodeURIComponent("通过"));
   Val=Val.replace(/(^\s*)|(\s*$)/g, "");
   alert("--"+encodeURIComponent(Val)+"--------"+encodeURIComponent("通过")+"--");
   alert("Val"+Val)
    if(Val=="通过")
   Val=1;
if(Val=="不通过")
   Val=2;
else
   Val=3;
alert("Val"+Val);

Val传进去的值为通过的时候Val的值却不是1,而是3!
可是Val传进去的值为不通过的时候Val的值却可以正常的赋到2!!!

17 个解决方案

#1


function changeAud(Val){
alert(encodeURIComponent(Val)+"--------"+encodeURIComponent("通过"));
Val=Val.replace(/(^\s*)|(\s*$)/g, "");
alert("--"+encodeURIComponent(Val)+"--------"+encodeURIComponent("通过")+"--");
alert("Val"+Val)
if(Val=="通过"){Val=1;}
else if(Val=="不通过"){Val=2;}
else{Val=3;}
alert("Val"+Val);
}

#2


if(Val=="通过") {
Val=1;
} else if(Val=="不通过") {
Val=2;
} else {
Val=3;
}

#3


嗯,我看着也是少了个“else”!

#4


必然是3啊

#5


哥  要习惯把{}加上... 要不然 容易出问题

#6


少了个else呀

#7


if(Val=="通过") {
Val=1;
} else if(Val=="不通过") {
Val=2;
} else {
Val=3;
}

#8


不是3就见鬼了~~

#9


听楼上的都没错的

#10


括号啊。。不加括号看着都蛋疼。。。。。。。

#11



function changeAud(Val) {
alert(encodeURIComponent(Val) + "--------" + encodeURIComponent("通过"));
Val = Val.replace(/(^\s*)|(\s*$)/g, "");
alert("--" + encodeURIComponent(Val) + "--------" + encodeURIComponent("通过") + "--");
alert("Val" + Val)
if (Val == "通过") {
Val = 1;
} else if (Val == "不通过") {
Val = 2;
} else {
Val = 3;
}
alert("Val" + Val);
}

其实有很多问题都是由于我们的代码不按照标准的书写格式来造成的 这就是个典型的例子 
后边要注意哦~~ 

#12


if(Val=="通过")
Val=1;
if(Val=="不通过")
Val=2;

就这样就是了,不是通过就是通不过,不是1就是2,没事弄个3干嘛。

#13


ok 顶楼上

#14


你目前的逻辑是
//一组
if(Val=="通过")//成立 val=1
Val=1;
//一组
if(Val=="不通过")//不成立 val=3,    成立时  val=2
Val=2;
else
Val=3;
其实是你的if  else 用错了

#15


......

#16


if(Val=="通过")
Val=1;
else if(Val=="不通过")
Val=2;
else
Val=3;

else能使人蛋碎~~

#17


if(Val=="通过")
Val=1;

if(Val=="不通过")
Val=2;
else
Val=3;


上面红色的是你传“通过”时执行的语句,第二个if前面加上一个else

#1


function changeAud(Val){
alert(encodeURIComponent(Val)+"--------"+encodeURIComponent("通过"));
Val=Val.replace(/(^\s*)|(\s*$)/g, "");
alert("--"+encodeURIComponent(Val)+"--------"+encodeURIComponent("通过")+"--");
alert("Val"+Val)
if(Val=="通过"){Val=1;}
else if(Val=="不通过"){Val=2;}
else{Val=3;}
alert("Val"+Val);
}

#2


if(Val=="通过") {
Val=1;
} else if(Val=="不通过") {
Val=2;
} else {
Val=3;
}

#3


嗯,我看着也是少了个“else”!

#4


必然是3啊

#5


哥  要习惯把{}加上... 要不然 容易出问题

#6


少了个else呀

#7


if(Val=="通过") {
Val=1;
} else if(Val=="不通过") {
Val=2;
} else {
Val=3;
}

#8


不是3就见鬼了~~

#9


听楼上的都没错的

#10


括号啊。。不加括号看着都蛋疼。。。。。。。

#11



function changeAud(Val) {
alert(encodeURIComponent(Val) + "--------" + encodeURIComponent("通过"));
Val = Val.replace(/(^\s*)|(\s*$)/g, "");
alert("--" + encodeURIComponent(Val) + "--------" + encodeURIComponent("通过") + "--");
alert("Val" + Val)
if (Val == "通过") {
Val = 1;
} else if (Val == "不通过") {
Val = 2;
} else {
Val = 3;
}
alert("Val" + Val);
}

其实有很多问题都是由于我们的代码不按照标准的书写格式来造成的 这就是个典型的例子 
后边要注意哦~~ 

#12


if(Val=="通过")
Val=1;
if(Val=="不通过")
Val=2;

就这样就是了,不是通过就是通不过,不是1就是2,没事弄个3干嘛。

#13


ok 顶楼上

#14


你目前的逻辑是
//一组
if(Val=="通过")//成立 val=1
Val=1;
//一组
if(Val=="不通过")//不成立 val=3,    成立时  val=2
Val=2;
else
Val=3;
其实是你的if  else 用错了

#15


......

#16


if(Val=="通过")
Val=1;
else if(Val=="不通过")
Val=2;
else
Val=3;

else能使人蛋碎~~

#17


if(Val=="通过")
Val=1;

if(Val=="不通过")
Val=2;
else
Val=3;


上面红色的是你传“通过”时执行的语句,第二个if前面加上一个else