2015-11-07 91 views
-2

声明,我刚刚开始使用Javascript,很抱歉,如果这是一个简单的问题,找不到对谷歌或在这里的答案。运行多个,如果每一次

我有一个变量,以后每次我按下一个按钮,它增加了许多针对该功能运行,检查,如果VAR数量是一定的数量和其他数之间,如果是写东西的功能。

问题是,我现在有大约4 if语句也重叠,但因为他们是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> 
+0

你能告诉你的任何'如果condition'的? – Rayon

+0

不要使用'if if if',为每个使用单独的'if'模式。 – rajuGT

+0

删除它们之间的'else'。使用4'if's(假设它们都不导致封闭函数返回)。 – Joseph

回答

0

我觉得你的问题是,你overwirte前分配document.getElementById("container").innerHTML = ...的结果。你只得到最后一个支票分配。

(小提示:对于block语句大括号不需要右括号后面的semicolon

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() 
 
}
<p id="container"></p> 
 
<button onclick="addone()">Add One</button>

0

例如,你可以添加你的文字(“检查1”或“检查2”等)。当if语句的计算结果为真时,使用数组push()方法将数组转换为数组。

当所有的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>