每次运行多个if语句

时间:2015-11-07 12:20:59

标签: javascript

我刚开始使用Javascript,很抱歉,如果这是一个简单的问题,无法在谷歌或此处找到答案。

我有一个变量,每次按下一个按钮后,它会向该函数添加一个数字,并运行一个函数,检查var数是否在某个数字和另一个数字之间,如果是,则写入一些内容。

问题是,我现在有大约4个if语句也重叠,但是因为它们只是语句,它只是检查第一个是,如果只打印出那个。

如果我想打印所有真实的陈述怎么办?有没有办法做到这一点?

这是代码

<!DOCTYPE html>
<html>
<body>

<script>
var check = 0;
function numberchecker() {
        document.getElementById("container").innerHTML = "Hello world";
            if ( check > 1 && check < 7 ) { document.getElementById("container").innerHTML = "Check 1";};
            if  ( check > 4 && check < 8 ) { document.getElementById("container").innerHTML = "Check 2"; } ;           
            if  ( check > 6 && check < 10 ) { document.getElementById("container").innerHTML = "Check 3";};
     console.log(check);
} ;

function addone() {check = check + 1; numberchecker()} ;
</script>

<p id="container"></p>
        <button onclick="addone()">Add One</button>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

我认为你的问题是,你覆盖了前任务document.getElementById("container").innerHTML = ...的结果。你只得到最后一个支票。

(小提示:block语句的大括号在结束括号后面不需要semicolon。)

&#13;
&#13;
var check = 0;

function numberchecker() {
    document.getElementById("container").innerHTML = "check: "+check+"<br>Hello world";
    if (check > 1 && check < 7) {
        document.getElementById("container").innerHTML += "<br>Check 1";
    }
    if (check > 4 && check < 8) {
        document.getElementById("container").innerHTML += "<br>Check 2";
    }
    if (check > 6 && check < 10) {
        document.getElementById("container").innerHTML += "<br>Check 3";
    }
    console.log(check);
}

function addone() {
    check = check + 1; numberchecker()
}
&#13;
<p id="container"></p>
<button onclick="addone()">Add One</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

例如,当if语句的计算结果为true时,您可以使用数组push()方法将文本(“Check 1”或“Check 2”等)添加到数组中。

当所有if语句都完成检查时,你可以打印数组的内容。

如果结果数组中没有项目,您将看到默认文本“Hello world”。

如果结果数组中有元素,那么可以使用数组join()方法将结果数组中的元素连接成一个字符串。

例如:

var check = 0;
    function numberchecker() {
        var result = [];
        document.getElementById("container").innerHTML = "Hello world";
        if ( check > 1 && check < 7 ) { result.push("Check 1");}
        if ( check > 4 && check < 8 ) { result.push("Check 2");}
        if ( check > 6 && check < 10 ) { result.push("Check 3");}
        if (result.length !== 0) {
            document.getElementById("container").innerHTML = "True statements: " + result.join();
        }
        console.log(check);
    }

    function addone() {check = check + 1; numberchecker()}
<button onclick="addone()">Add One</button>
<p id="container"></p>