Javascript语法-if语句
Javascript Syntax - if statement
我有以下对象:
var quarters = {
q1:false,
q2:false,
q3:false,
q4:{name: "i'm q4"}
}
我的问题是,为什么下面的IF返回true?
if (quarters.q1 == quarters.q2 == quarters.q3 == quarters.q4 == false)
我如何询问if all quarters are false
?
我不使用!quarters.q1 && !quarters.q2 && !quarters.q3 && !quarters.q4
的原因是,有时根本没有定义某些属性。
为什么下面的IF返回true?
假设toppingOrder
是quarters
,让我们填写它,看看我们有什么
if (toppingOrder.q1 == toppingOrder.q2 == toppingOrder.q3 == toppingOrder.q4 == false)
// same as
if (false == false == false == {name: "i'm q4"} == false)
// same as
if ((((false == false) == false) == {name: "i'm q4"}) == false)
// same as
if (((true == false) == {name: "i'm q4"}) == false)
// same as
if ((false == {name: "i'm q4"}) == false)
// same as
if (false == false)
// same as
if (true)
如果所有四分之一都是假的,我怎么能问呢?
您必须循环,使用逻辑AND &&
或一些Array方法,如.every
// logical AND `&&`
if (
false === toppingOrder.q1
&& false === toppingOrder.q2
&& false === toppingOrder.q3
&& false === toppingOrder.q4
) // ...
// Array `.every`
if (
[toppingOrder.q1, toppingOrder.q2, toppingOrder.q3, toppingOrder.q4].every(
function (e) {return e === false;}
)
) // ...
实际上,测试所有true
要容易得多,所以请考虑是否可以这样表述if
,例如使用逻辑NOT !
if (!toppingOrder.q1 && !toppingOrder.q2 && !toppingOrder.q3 && !toppingOrder.q4) // ...
// or
if (
[!toppingOrder.q1, !toppingOrder.q2, !toppingOrder.q3, !toppingOrder.q4].every(Boolean)
) // ...
quarters.q1 == quarters.q2 == quarters.q3 == quarters.q4 == false
true == quarters.q3 == quarters.q4 == false
false == quarters.q4 == false
true == false
你基本上在做的是这个
一切都将从左到右执行,除非您设置订单(使用( )
)
你可以这样做
function get_bool(quarters){
for(k in quarters)
{
if(quarters[k] != false)
{
return true;
}
}
return false;
}
相关文章:
- 可以'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问题