首页 > 代码库 > switch
switch
var num=7;
switch(true){
<script>
function funcSwitch(sFlag) {
switch(sFlag){
case "Test1":
alert("Test1");
break;
case "Test2":
alert("Test2");
break;
default:;
}
}
funcSwitch("Test2");
</script>
switch(true){
case num < 0: alert("less than0"); break;
case num >= 0 && num<= 10: alert("between 0 and 10"); break;
default: alert("more than 10");
}
case num >= 0 && num<= 10: alert("between 0 and 10"); break;
default: alert("more than 10");
}
switch语句在比较值时使用的是全等操作符,因此不会发生类型转换。
在switch 中可以使用任何数据类型,case的值不一定常量,可以是变量,甚至表达式。
function funcSwitch(sFlag) {
switch(sFlag){
case "Test1":
alert("Test1");
break;
case "Test2":
alert("Test2");
break;
default:;
}
}
funcSwitch("Test2");
</script>
如果case 后面对应的不是一个字符串,而是一个变量的话。可以结合RegExp 达成。
<script>
var str1 = "Test1";
var str2 = "Test1";
function funcSwitch(sFlag)
{
var regExp = new RegExp(sFlag);
switch(true) {
case regExp.test(str1):
alert("Test1");
break;
case regExp.test(str2):
alert("Test2");
break;
default:;
}
}
funcSwitch("Test1");
</script>
var str1 = "Test1";
var str2 = "Test1";
function funcSwitch(sFlag)
{
var regExp = new RegExp(sFlag);
switch(true) {
case regExp.test(str1):
alert("Test1");
break;
case regExp.test(str2):
alert("Test2");
break;
default:;
}
}
funcSwitch("Test1");
</script>
--------------------------
作者:Justin
出处:http://justinw.cnblogs.com/
switch
(something) {
case
1:
todoA();
break
;
case
2:
todoB();
break
;
case
3:
todoC();
break
;
//...
}
这样的代码本身也没什么,只是可读性差一些,看起来有点费劲,JavaScript虽然支持switch-case,不过有一种更好的写法值得推广:
// JScript source code
//something的值是1、2、3...
var
cases = {
1: todoA,
2: todoB,
3: todoC
};
if
(cases[something]) {
cases[something]();
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。