关于js中switch...case的使用 同事在js脚本里使用了switch...case语法,前两天测试没问题,今天测试用alert()调试,老是不执行switch...case语句块,改成if...else就可以了,请教下各位牛人,在什么情况下,js中的switch...case语句块不执行,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般情况下是可以的,楼主你把代码贴出来吧,我也刚用过了switch case function userNameKey(pageId){ var page = ""; try{alert(1111); /*switch(pageId) { case 1:*/ if (pageId==1) { document.getElementById("kao").innerHTML='<img src="./images/120Green.png" height="200" align="bottom"></img>'; document.getElementById("myText").innerHTML='<span style="color: #00FF00">系统正常:系统所有设备工作正常.</span>'; document.getElementById("vid").innerHTML=''; document.getElementById("vid").style.display="none"; } //break; //case 2: else if (pageId==2) { document.getElementById("kao").innerHTML='<img id="soccer" src="./images/120Orange copy.png" height="200" align="bottom"></img>'; document.getElementById("myText").innerHTML='<span style="color: #FF9900">橙色告警:PBX线路故障.</span>'; document.getElementById("vid").innerHTML='<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="0" height="0"> <param name="AnimationAtStart" value="-1"> <param name="AllowScan" value="-1"><param name="AllowChangeDisplaySize" value="-1"><param name="AutoRewind" value="0"><param name="Balance" value="0"><param name="Filename" value="./sound/org.WAV" valuetype="ref"><param name="InvokeURLs" value="-1"><param name="Language" value="-1"> <param name="Mute" value="0"><param name="PlayCount" value="0"><param name="PreviewMode" value="-1"> <param name="Rate" value="1"></object> '; document.getElementById("vid").style.display="none"; soccerOnload2(); } //break; //case 3: else if (pageId==3) { document.getElementById("kao").innerHTML='<img id="soccer" src="./images/120Red copy.png" height="200" align="bottom"></img>'; document.getElementById("myText").innerHTML='<span style="color: red">红色告警:PBX设备存在致命故障.</span>'; document.getElementById("vid").innerHTML='<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="0" height="0"> <param name="AnimationAtStart" value="-1"> <param name="AllowScan" value="-1"><param name="AllowChangeDisplaySize" value="-1"><param name="AutoRewind" value="0"><param name="Balance" value="0"><param name="Filename" value="./sound/red.WAV" valuetype="ref"><param name="InvokeURLs" value="-1"><param name="Language" value="-1"> <param name="Mute" value="0"><param name="PlayCount" value="0"><param name="PreviewMode" value="-1"> <param name="Rate" value="1"></object> '; document.getElementById("vid").style.display="none"; soccerOnload2(); } //break; //case 4: else if (pageId==4) { document.getElementById("kao").innerHTML='<img id="soccer" src="./images/120Yellow copy.png" height="200" align="bottom"></img>'; document.getElementById("myText").innerHTML='<span style="color: red">网络连接中断,请检查网络连接.</span>'; //document.getElementById("vid").innerHTML='<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="0" height="0"> <param name="AnimationAtStart" value="-1"> <param name="AllowScan" value="-1"><param name="AllowChangeDisplaySize" value="-1"><param name="AutoRewind" value="0"><param name="Balance" value="0"><param name="Filename" value="./sound/red.WAV" valuetype="ref"><param name="InvokeURLs" value="-1"><param name="Language" value="-1"> <param name="Mute" value="0"><param name="PlayCount" value="0"><param name="PreviewMode" value="-1"> <param name="Rate" value="1"></object> '; document.getElementById("vid").style.display="none"; soccerOnload2(); } //break; else { } /*default : break; }*/ } catch(e) { }}上面是我的代码,我把switch...case注释了,早上测试的时候执行到alert()就直接出来了,下面的就不执行,是什么原因可能导致这种问题?浏览器?浏览器版本? switch是没有问题的你传的参数有可能编程字符串了函数中第一行加上pageId = pageId-0; js 的switch没用过,java中常用 switch(c) 中的 c 只能是 int char 基本类型String 类型不行 你用的时候转一下: try{ pageId = parseInt(pageId); /*switch(pageId) { case 1:*/ if (pageId==1) { //测试函数 function testswitch(num) { switch (num) { case 1: alert("1"); break; case 2: alert("2"); break; } if (num == 1) alert("3"); }调用是传入字符串 “1”testswitch("1");弹出结果 3 JSocket运行问题 修改td里面的内容 JS关于cookie的写法 关于createElement,试了很长时间还是不行,请高手指点 IE的状态栏怎样显示自己想显示的文字?? 在下只有10分了,请教这样一个问题,望大侠赐教 菜鸟问题,以下代码什么意思? 刚刚发现了一个 DHTML的特性,不知其它版本的浏览器是否支持,特此一问 字符串替换的问题(急) Jquery 点击某个tr, 让其包含的从第5个td元素开始,背景全部变红色,再点击取消,请教如何实现? 求救,点击按钮,跳出c:\WINDOWS\system32\cmd.exe 在线等,急!!! 正则 html瘦身
function userNameKey(pageId){
var page = "";
try{
alert(1111);
/*switch(pageId) {
case 1:*/
if (pageId==1)
{
document.getElementById("kao").innerHTML='<img src="./images/120Green.png" height="200" align="bottom"></img>';
document.getElementById("myText").innerHTML='<span style="color: #00FF00">系统正常:系统所有设备工作正常.</span>';
document.getElementById("vid").innerHTML='';
document.getElementById("vid").style.display="none";
}
//break;
//case 2:
else if (pageId==2)
{
document.getElementById("kao").innerHTML='<img id="soccer" src="./images/120Orange copy.png" height="200" align="bottom"></img>';
document.getElementById("myText").innerHTML='<span style="color: #FF9900">橙色告警:PBX线路故障.</span>';
document.getElementById("vid").innerHTML='<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="0" height="0"> <param name="AnimationAtStart" value="-1"> <param name="AllowScan" value="-1"><param name="AllowChangeDisplaySize" value="-1"><param name="AutoRewind" value="0"><param name="Balance" value="0"><param name="Filename" value="./sound/org.WAV" valuetype="ref"><param name="InvokeURLs" value="-1"><param name="Language" value="-1"> <param name="Mute" value="0"><param name="PlayCount" value="0"><param name="PreviewMode" value="-1"> <param name="Rate" value="1"></object> ';
document.getElementById("vid").style.display="none";
soccerOnload2();
}
//break;
//case 3:
else if (pageId==3)
{
document.getElementById("kao").innerHTML='<img id="soccer" src="./images/120Red copy.png" height="200" align="bottom"></img>';
document.getElementById("myText").innerHTML='<span style="color: red">红色告警:PBX设备存在致命故障.</span>';
document.getElementById("vid").innerHTML='<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="0" height="0"> <param name="AnimationAtStart" value="-1"> <param name="AllowScan" value="-1"><param name="AllowChangeDisplaySize" value="-1"><param name="AutoRewind" value="0"><param name="Balance" value="0"><param name="Filename" value="./sound/red.WAV" valuetype="ref"><param name="InvokeURLs" value="-1"><param name="Language" value="-1"> <param name="Mute" value="0"><param name="PlayCount" value="0"><param name="PreviewMode" value="-1"> <param name="Rate" value="1"></object> ';
document.getElementById("vid").style.display="none";
soccerOnload2();
}
//break;
//case 4:
else if (pageId==4)
{
document.getElementById("kao").innerHTML='<img id="soccer" src="./images/120Yellow copy.png" height="200" align="bottom"></img>';
document.getElementById("myText").innerHTML='<span style="color: red">网络连接中断,请检查网络连接.</span>';
//document.getElementById("vid").innerHTML='<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="0" height="0"> <param name="AnimationAtStart" value="-1"> <param name="AllowScan" value="-1"><param name="AllowChangeDisplaySize" value="-1"><param name="AutoRewind" value="0"><param name="Balance" value="0"><param name="Filename" value="./sound/red.WAV" valuetype="ref"><param name="InvokeURLs" value="-1"><param name="Language" value="-1"> <param name="Mute" value="0"><param name="PlayCount" value="0"><param name="PreviewMode" value="-1"> <param name="Rate" value="1"></object> ';
document.getElementById("vid").style.display="none";
soccerOnload2();
}
//break;
else
{
}
/*default :
break;
}*/
}
catch(e)
{
}
}上面是我的代码,我把switch...case注释了,早上测试的时候执行到alert()就直接出来了,下面的就不执行,是什么原因可能导致这种问题?浏览器?浏览器版本?
你传的参数有可能编程字符串了
函数中第一行加上
pageId = pageId-0;
switch(c) 中的 c 只能是 int char 基本类型
String 类型不行 你用的时候转一下:
try{
pageId = parseInt(pageId);
/*switch(pageId) {
case 1:*/
if (pageId==1)
{
//测试函数
function testswitch(num)
{
switch (num)
{
case 1:
alert("1");
break;
case 2:
alert("2");
break;
}
if (num == 1)
alert("3");
}调用是传入字符串 “1”testswitch("1");弹出结果 3