javascript switch case 范围

不知是否出于什么缘故,我google搜索
javascript switch case 范围
这几个关键字,出来的前几条都是csdn上关于无解的表示。
可能是其他编译型语言中,case后便必须是常量的缘故吧。

后来在一个边角的地方看到某人发帖是VB还是不知道哪个语言中的中实现了switch case语句的范围选择,大家看了下面代码就明白了。

var x=1

switch(true)
{

    case x>0&&x<10:

        alert(1);
       
break;

    case x>=10&&x<20:

        alert(2);
        break;

}

看明白啦?就是利用传递给switch的参数设为true,把原来的变量变成常量,常量变变量,逆向思维。巧妙吧?

本来我想出来的办法是这样的,没有上面的好,没有跳出思维定势,也贴出来给大家看看,权当娱乐娱乐了

var x=1

switch(x)
{

    case (x>0&&x<10)*x:

        alert(1);
        break;

    case (x>=10&&x<20)*x:

        alert(2);
       
break;

}

posted @ 2009-04-01 18:09  SmartFramework@live.jp  阅读(604)  评论(0编辑  收藏  举报