gpt4 book ai didi

javascript - SWITCH javascript 总是执行默认情况的问题

转载 作者:行者123 更新时间:2023-12-03 11:16:18 29 4
gpt4 key购买 nike

好吧,我有这个麻烦,我一直在处理,但我无法让它工作

我有这个功能

function getDirections(dir)
{
var img;
switch(dir)
{
case 0:
img+='N.png';
break;
case 1:
img+='NE.png';
break;
case 2:
img+='E.png';
break;
case 3:
img+='SE.png';
break;
case 4:
img+='S.png';
break;
case 5:
img+='SO.png';
break;
case 6:
img+='O.png';
break;
case 7:
img+='NO.png';
break;
default:
alert('enetered default but direction='+dir);
}
return img;
}

很简单吧?现在我将此间隔设置为 5000 毫秒来调用 getDirections(variable),该函数在第一次调用时运行良好,但在此之后,它总是进入 default 子句,并且还提醒“已输入默认值但方向 = dirvalue”,我的意思是,即使 dir 是 0-7 之间的值,它也将始终进入默认值:但它会提醒该值,因此它应该进入其中一种情况。

我用 else if 做了同样的事情,它起作用了,所以我不知道 SWITCH 有什么问题
if(dir==0){img+='N.png';}
else if(dir==1){img+='NE.png';}
else if(dir==2){img+='E.png';}
else if(dir==3){img+='SE.png';}
else if(dir==4){img+='S.png';}
else if(dir==5){img+='SO.png';}
else if(dir==6){img+='O.png';}
else if(dir==7){img+='NO.png';}

最佳答案

这很奇怪...尝试确保 dir 是 int,在切换之前执行此操作:

dir = parseInt(dir);

如果警报正确显示值,它应该进入开关,但它仍然可以“看起来”正确但具有不同的数据类型。手动进行转换以确保它是一个 int

关于javascript - SWITCH javascript 总是执行默认情况的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5099376/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com