JavaScript if else 语句被忽略
JavaScript if else statement ignored
我在下面有一个简单的if语句:
function calculateTotal() {
if (tanksize != 1 || tanksize != 2) {
var setupPrice = basicPrice + StatPrice() + DigiStatPrice() + IRPrice() + UVPrice() + cagePrice();
var setupPrice2 = toFixed(setupPrice, 2);
} else {
var setupPrice = basicPrice;
var setupPrice2 = toFixed(setupPrice, 2);
}
//display the result at the top of page
var divobj = document.getElementById('totalPrice');
divobj.innerHTML = "£" + setupPrice2;
//display the result at the bottom of page
var divobj = document.getElementById('totalPrice2');
divobj.innerHTML = "£" + setupPrice2;
}
但是当tanksize
变量设置为 1
或 2
时,setupPrice
变量仍然通过添加basicPrice + StatPrice...
等来计算。
您需要使用:
if (tanksize !== 1 && tanksize !== 2) {
与&&
操作员,或
if (!(tanksize ===1 || tanksize === 2)) {
在您的代码中,只要值不是 1 或不是 2,就会执行第一个块,这相当于它始终执行。
如果值为 1
,则tanksize != 2
true
,因此tanksize!=1 || tanksize!=2
true
。
如果值为 2
,则tanksize != 1
true
,因此tanksize!=1 || tanksize!=2
true
。
换句话说,无论tanksize
的价值如何,tanksize!=1 || tanksize!=2
总是true
的
这句话总是正确的:
if(tanksize!=1 || tanksize!=2){
因为,当水箱大小 = 1 时,坦克大小不同于 2
当水箱大小 = 2 时,水箱大小不同于 1。
这不是 javascript 错误,您只需要更改逻辑即可在if
中进行正确的测试......
尝试if(tanksize!=1 && tanksize!=2){
而不是if(tanksize!=1 || tanksize!=2){
<</p>
你的逻辑是错误的。
事实上,两个不等于的 OR 运算符总是 TRUE(为此检查布尔表),条件语句"if"检查 TRUE 或 FALSE,因此您的代码将始终返回 TRUE
使用类似的东西
if(tanksize!=1 && tanksize!=2){
# Your code
}
<</div>
div class="answers"> (tanksize!=1 || tanksize!=2) 在这个语句中总是为真。更改运算符 ||到 &&
你的第一个条件总是 true
,例如,如果某些x = 1
,则与 2 不同,反之亦然。
所以这个条件有点等于。
if(true) {
// ...
}
- 可以't让我的if语句处理js中的html表单输入
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 如何在 API 调用后和 if 语句中启用提交按钮
- 带有多个elseif的Javascript if语句
- Sharepoint JScript if语句未执行
- Javascript:If-then语句在函数中不起作用
- for循环中的javascript if语句找不到==
- jquery if语句返回return wong语句
- 在if语句下的html中使用javascript变量
- 将错误与if语句混淆
- 如何检查if/else语句中的随机条件
- 循环通过数组的If语句不起作用
- jQuery模板中的If语句
- 如何从数据库中回显If语句
- 如何减少if语句的数量
- Node.js-承诺和锥形语句(if、switch等)-如何构建
- 如何在嵌套ng重复指令中使用控制语句(if语句)
- 如何创建语句if包含"&"
- If语句- If主体有一个类remove在滚动原生javascript
- Javascript中的if语句- if - else问题