js switch...case语句与if...else性能比较

来源:互联网 发布:centos yum 网卡驱动 编辑:程序博客网 时间:2024/05/21 12:49
■switch...case语句与if...else性能比较
var count=99999;
        
        function nIfElseTest(num)
        {
            var dBegin=new Date;
            //进行
        
            var iNum=0;
            for(var i=0;i<count;i++)
            {
                if(num==0)
                {
                    iNum=0;
                }
                else if(num==1)
                {
                    iNum=0;
                }
                else if(num==2)
                {
                    iNum=0;
                }
                else if(num==3)
                {
                    iNum=0;
                }
                else if(num==4)
                {
                    iNum=0;
                }
                else if(num==5)
                {
                    iNum=0;
                }
                else if(num==6)
                {
                    iNum=0;
                }
                else if(num==7)
                {
                    iNum=0;
                }
                else if(num==8)
                {
                    iNum=0;
                }
                else if(num==9)
                {
                    iNum=0;
                }
                else if(num==10)
                {
                    iNum=0;
                }
                else if(num==11)
                {
                    iNum=0;
                }
                else if(num==12)
                {
                    iNum=0;
                }
                else if(num==13)
                {
                    iNum=0;
                }
                else if(num==14)
                {
                    iNum=0;
                }
                else if(num==15)
                {
                    iNum=0;
                }
                else if(num==16)
                {
                    iNum=0;
                }
                else if(num==17)
                {
                    iNum=0;
                }
                else if(num==18)
                {
                    iNum=0;
                }
            }
            var dEnd=new Date;
            document.write("if...else耗时"+(dEnd.getTime()-dBegin.getTime())+"毫秒"+",num="+num+"<a href='javascript:history.back()'>继续测试</a>");
        }
        
        function nSwitchCaseTest(num)
        {
            var dBegin=new Date;
            //进行
            for(var i=0;i<count;i++)
            {
                switch(num)
                {
                    case 0:
                        iNum=0;break;
                    case 1:
                        iNum=0;break;
                    case 2:
                        iNum=0;break;
                    case 3:
                        iNum=0;break;
                    case 4:
                        iNum=0;break;
                    case 5:
                        iNum=0;break;
                    case 6:
                        iNum=0;break;
                    case 7:
                        iNum=0;break;
                    case 8:
                        iNum=0;break;
                    case 9:
                        iNum=0;break;
                    case 10:
                        iNum=0;break;
                    case 11:
                        iNum=0;break;
                    case 12:
                        iNum=0;break;
                    case 13:
                        iNum=0;break;
                    case 14:
                        iNum=0;break;
                    case 15:
                        iNum=0;break;
                    case 16:
                        iNum=0;break;
                    case 17:
                        iNum=0;break;
                    case 18:
                        iNum=0;break;
                    default:
                }
            }
            var dEnd=new Date;
            document.write("switch_case耗时"+(dEnd.getTime()-dBegin.getTime())+"毫秒"+",num="+num+"<a href='javascript:history.back()'>继续测试</a>");
        }
        </script>
    </head>
    <body>
        <button onClick="javaScript:nIfElseTest(0)">if0</button>
        <button onClick="javaScript:nIfElseTest(2)">if2</button>
        <button onClick="javaScript:nIfElseTest(4)">if4</button>
        <button onClick="javaScript:nIfElseTest(6)">if6</button>
        <button onClick="javaScript:nIfElseTest(8)">if8</button>
        <button onClick="javaScript:nIfElseTest(10)">if10</button>
        <button onClick="javaScript:nIfElseTest(12)">if12</button>
        <button onClick="javaScript:nIfElseTest(14)">if14</button>
        <button onClick="javaScript:nIfElseTest(16)">if16</button>
        <button onClick="javaScript:nIfElseTest(18)">if18</button>
        
        <p><a href="http://www.dreamdu.com/javascript/switch_case/">switch...case</a>测试</p>
        
        <button onClick="javaScript:nSwitchCaseTest(0)">switch0</button>
        <button onClick="javaScript:nSwitchCaseTest(2)">switch2</button>
        <button onClick="javaScript:nSwitchCaseTest(4)">switch4</button>
        <button onClick="javaScript:nSwitchCaseTest(6)">switch6</button>
        <button onClick="javaScript:nSwitchCaseTest(8)">switch8</button>
        <button onClick="javaScript:nSwitchCaseTest(10)">switch10</button>
        <button onClick="javaScript:nSwitchCaseTest(12)">switch12</button>
        <button onClick="javaScript:nSwitchCaseTest(14)">switch14</button>
        <button onClick="javaScript:nSwitchCaseTest(16)">switch16</button>
        <button onClick="javaScript:nSwitchCaseTest(18)">switch18</button>
0 0
原创粉丝点击