<script type="text/javascript" language="javascript"> <!-- function test() { var year=window.prompt("ÇëÊäÈëÄúÒѶÁÁ˼¸ÄêÊ飿",9); var army; var msg; switch(year) { case 0: army="Äú»¹Ã»ÓÐÉÏѧÂð£¿"; break; case 1: case 2: case 3: case 4: case 5: case 6: army="¿´À´Ä㻹Á˶ÁСѧŶ£¡"; break; case 7: case 8: case 9: army="ÄãÒÑÍê³ÉÁ˾ÅÄêÒåÎñ½ÌÓýÂð£¿"; break; default: if (year>16) army="¿´À´ÄãµÄ֪ʶˮƽÒѾºÜ¸ßÁË¡£"; } msg += "Äã¶ÁÁË" + year + "ÄêÊé,\n"; msg += army + "\n"; alert(msg); window.close() } test(); --> </script>
<script type="text/javascript" language="javascript"> <!-- var msg=""; function test() { var year=window.prompt("请输入您已读了几年书?",9); var army; switch(year) { case 0: army="您还没有上学吗?"; break; case 1: case 2: case 3: case 4: case 5: case 6: army="看来你还了读小学哦!"; break; case 7: case 8: case 9: army="你已完成了九年义务教育吗?"; break; default: if (year>16) army="看来你的知识水平已经很高了。"; } msg += "你读了" + year + "年书,\n"; msg += army + "\n"; alert(msg); } --> </script>msg也定义过的
<script type="text/javascript" language="javascript">var msg="";function test() { var year=window.prompt("ÇëÊäÈëÄúÒѶÁÁ˼¸ÄêÊ飿",9); var army; switch(year) { case 0: army="Äú»¹Ã»ÓÐÉÏѧÂð£¿"; break; case 1: case 2: case 3: case 4: case 5: case 6: army="¿´À´Ä㻹Á˶ÁСѧŶ£¡"; break; case 7: case 8: case '9': army="bb"; break; default: if (year>16) army="¿´À´ÄãµÄ֪ʶˮƽÒѾºÜ¸ßÁË¡£"; } alert(army); msg += "Äã¶ÁÁË" + year + "ÄêÊé,\n"; msg += army ; alert(msg); } test() </script> 变成字符串比如‘9’
一:msg未定义就进行+=操作所以报错 二:prompt得出的是字符串,用在switch时不会强制转换,要自己转换。 <script type="text/javascript"> new function test(){ var year = window.prompt("请输入您已读了几年书?",9); var army, msg=""; switch(Number(year)){ case 0: army="您还没有上学吗?"; break; case 1: case 2: case 3: case 4: case 5: case 6: army="看来你还了读小学哦!"; break; case 7: case 8: case 9: army="你已完成了九年义务教育吗?"; break; default: army = year>16 ? "看来你的知识水平已经很高了。" : "请输入数字"; } msg += "你读了" + year + "年书,\n"; msg += army + "\n"; alert(msg); window.close(); } </script>
<!--
function test()
{
var year=window.prompt("ÇëÊäÈëÄúÒѶÁÁ˼¸ÄêÊ飿",9);
var army;
var msg;
switch(year)
{
case 0:
army="Äú»¹Ã»ÓÐÉÏѧÂð£¿";
break;
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
army="¿´À´Ä㻹Á˶ÁСѧŶ£¡";
break;
case 7:
case 8:
case 9:
army="ÄãÒÑÍê³ÉÁ˾ÅÄêÒåÎñ½ÌÓýÂð£¿";
break;
default:
if (year>16)
army="¿´À´ÄãµÄ֪ʶˮƽÒѾºÜ¸ßÁË¡£";
}
msg += "Äã¶ÁÁË" + year + "ÄêÊé,\n";
msg += army + "\n";
alert(msg);
window.close()
}
test();
-->
</script>
<!--
var msg="";
function test()
{
var year=window.prompt("请输入您已读了几年书?",9);
var army;
switch(year)
{
case 0:
army="您还没有上学吗?";
break;
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
army="看来你还了读小学哦!";
break;
case 7:
case 8:
case 9:
army="你已完成了九年义务教育吗?";
break;
default:
if (year>16)
army="看来你的知识水平已经很高了。";
}
msg += "你读了" + year + "年书,\n";
msg += army + "\n";
alert(msg);
}
-->
</script>msg也定义过的
{
var year=window.prompt("ÇëÊäÈëÄúÒѶÁÁ˼¸ÄêÊ飿",9);
var army;
switch(year)
{
case 0:
army="Äú»¹Ã»ÓÐÉÏѧÂð£¿";
break;
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
army="¿´À´Ä㻹Á˶ÁСѧŶ£¡";
break;
case 7:
case 8:
case '9':
army="bb";
break;
default:
if (year>16)
army="¿´À´ÄãµÄ֪ʶˮƽÒѾºÜ¸ßÁË¡£";
}
alert(army);
msg += "Äã¶ÁÁË" + year + "ÄêÊé,\n"; msg += army ;
alert(msg);
} test()
</script>
变成字符串比如‘9’
二:prompt得出的是字符串,用在switch时不会强制转换,要自己转换。
<script type="text/javascript">
new function test(){
var year = window.prompt("请输入您已读了几年书?",9);
var army, msg="";
switch(Number(year)){
case 0:
army="您还没有上学吗?";
break;
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
army="看来你还了读小学哦!";
break;
case 7:
case 8:
case 9:
army="你已完成了九年义务教育吗?";
break;
default:
army = year>16 ? "看来你的知识水平已经很高了。" : "请输入数字";
}
msg += "你读了" + year + "年书,\n";
msg += army + "\n";
alert(msg);
window.close();
}
</script>
<!--
function test(){
var army="";
var msg="";
var year=prompt("请输入您已读了几年书?",9);
if(year==0)
army="您还没有上学吗?";
if(year>=1&&year<=6)
army="看来你还在读小学哦!";
if(year>=7&&year<=9)
army="你已完成了九年义务教育吗?";
if(year>16)
army="看来你的知识水平已经很高了。";
msg="你读了"+year+"年书,\n"+army;
alert(msg);
}
-->
</script>
<a href="javascript:test()">test</a>
你有没试过我10楼的代码,没试过又说不行,我在你的switch中作了类型转换,Number()或parseInt()转换成数字,又或者像xiaolei1982说的把所有的case x改成case "x",JS的switch没有自动强制转换类型,12楼的蜗牛也是牛也说得很清楚。
msg += army + "\n"; 改成
msg = "你读了" + year + "年书,\n";
msg += army + "\n";