【发布时间】:2020-05-25 05:10:04
【问题描述】:
所以我有一个简单的功能来查看复选框中选中的内容,然后吐出价格。我试图做到这一点,所以我有所有可能的组合作为“如果”语句,所以无论用户选择什么,都会弹出正确的价格。我只是想知道如何将这段代码转换为 switch 语句以使其高效。如果还有什么其他效率低下的问题我应该解决,我希望得到反馈,这是我在学校项目中使用 JS 的第一周。
<!DOCTYPE html>
<html>
<head>
<script>
function testFunc() {
cost = 0;
var isOne = document.getElementById('Maui').checked;
var isTwo = document.getElementById('Oahu').checked;
var isThree = document.getElementById('Hawaii').checked;
if(isOne) {
cost += 1350
}
if(isOne && isTwo) {
cost = 1850
}
if(isOne && isTwo && IsThree) {
cost = 2100
}
else{
cost = 1350
}
if(isTwo){
cost += 0
}
document.getElementById('cost').innerHTML = cost;
}
</script>
</head>
<body>
<h2>Chose Islands For Package/h2>
<form>
<input type="checkbox" id="Maui">
<label>Maui</label><br>
<input type="checkbox" id="Oahu">
<label>Oahu</label><br>
<input type="checkbox" id="Hawaii">
<label>Hawaii</label><br>
</form>
<button onclick="testFunc()">Price </button>
<p id="cost"> </p>
</body>
</html>
编辑:对不起,我想我没有澄清,去一个岛的费用是 1350,不管是哪个岛。我认为我想要做的事情对于简单的 JS 代码来说太复杂了。例如,如果我选择夏威夷,它将是 1350,如果我选择两个岛屿,它将是 1850,但如果它只有一个岛,例如 Ohau,它将再次是 1350。我正在考虑为每个可能的变化做数组和/或编写 if/else 语句,因为 switch 语句似乎不是最好的选择。
【问题讨论】:
-
因为您要比较多个变量,所以您应该坚持使用 if/else 而不是 switch。
-
哟,可能,考虑一些新的答案作为回答如何执行实际 switch 语句的问题的接受的答案,因为当前接受的答案忽略了这个问题,如果你发现它们更有帮助(从不害怕将接受的答案从一个更改为一个更好的答案!:))
-
我也可以谦虚地推荐一个可能已经出现的新答案*.com/a/61996412/2016831,您可能觉得它很有用
标签: javascript if-statement switch-statement