没有确定最大变量是正确的

时间:2011-12-20 15:43:34

标签: javascript

我已经重新编写了我的代码以获得更高效的代码,并且它没有确定最大的变量,它只是将它设置为现在运行的第一个变量。它还停止将变量值插入到我设置的测试范围中。

http://www.sprayfoamsys.com/cmsdev/index.php?page=rig-constructor

<script type="text/javascript">
        var sec1=0;
        var sec2=0;
        var sec3=0;

        function secVar(){
            if(sec1) {
                sec1++;
                document.getElementById('sec1text').innerHTML = sec1;
            }
            if(sec2) {
                sec2++;
                document.getElementById('sec2text').innerHTML = sec2;
            }
            if(sec3) {
                sec3++;
                document.getElementById('sec3text').innerHTML = sec3;
            }

            largest = Math.max(sec1, sec2, sec3);
            if (largest === sec1) {
              //a
            } else if (largest === sec2) {
              //b
            } else if (largest === sec3) {
              //c
            }
            switch (largest) {
              case sec1:
                document.getElementById('rig').innerHTML = 'Test1';
                break;
              case sec2:
                document.getElementById('rig').innerHTML = 'Test2';
                break;
              case sec3:
                document.getElementById('rig').innerHTML = 'Test3';
                break;
            }
        }
    </script>

问题包含secVar(sec1);secVar(sec2);secVar(sec3);,具体取决于他们回答的问题。

我之前的代码如下所示。但仍未正确确定最大变量。

<script type="text/javascript">
        var sec1=0;
        var sec2=0;
        var sec3=0;

        function sec1Var(){
        sec1++;
        document.getElementById('sec1text').innerHTML = sec1;
        }

        function sec2Var(){
        sec2++;
        document.getElementById('sec2text').innerHTML = sec2;
        }

        function sec3Var(){
        sec3++;
        document.getElementById('sec3text').innerHTML = sec3;
        }

        largest = Math.max(sec1, sec2, sec3);

        function largestVar(){
            if (largest === sec1) {
              //a
            } else if (largest === sec2) {
              //b
            } else if (largest === sec3) {
              //c
            }

            switch (largest) {
              case sec1:
                document.getElementById('rig').innerHTML = 'Test1';
                break;
              case sec2:
                document.getElementById('rig').innerHTML = 'Test2';
                break;
              case sec3:
                document.getElementById('rig').innerHTML = 'Test3';
                break;
            }
        }
    </script>

是什么导致它不起作用?

1 个答案:

答案 0 :(得分:1)

(我碰巧看到过你之前关于同一主题的问题)

我认为你结合了两个不同的想法:确定最大值并确定其值最大的变量。您正在寻找以下内容:

function largestVar(){
    if (sec1 >= sec2 && sec1 >= sec3) {
        //a
        document.getElementById('rig').innerHTML = 'Test1';
    } else if (sec2 >= sec1 && sec2 >= sec3) {
        //b
        document.getElementById('rig').innerHTML = 'Test2';
    } else {
        //c
        document.getElementById('rig').innerHTML = 'Test3';
    }
}