【发布时间】:2012-09-25 16:20:47
【问题描述】:
我想翻译一些单词,但是当我用大写或混合写 HOUSE 时遇到问题。当我用小写写时它才起作用
<script>
var translate = prompt("Enter one of the next words:\nhouse\ntable\ndog\ncat");
switch (translate){
case 'house': document.write("casa");
break;
case 'table': document.write("mesa");
break
case 'dog': document.write("perro");
break;
case 'cat': document.write("gato");
break;
default: document.write("Error");
}
</script>
【问题讨论】:
-
显而易见的解决方案:
switch (translate.toLowerCase()){(实际上,不是那么明显,因为您还必须考虑关闭对话框。因此,最终解决方案变为switch (translate ? translate.toLowerCase() : '') {) -
@RobW 不会
undefined落入default? -
@Shmiddty 不是第一种情况,因为
undefined没有字符串方法,所以undefined.toLowerCase()会导致抛出错误,从而停止脚本的执行。 -
@RobW 是的,当然。
标签: javascript uppercase lowercase