JS:为什么这个返回true ?
JS: why does this return true?
0 + 1 === 1 || 1 + 1 === 2 || 2 + 1 === 10
谁能解释一下为什么这个语句返回true?
单独地,前两个为真,最后一个为假。然而OVERALL,语句返回true。看起来,您只需要在更长的语句列表中添加一个true语句,就可以使OVERALL语句返回true。对吗?
只是想巩固我对布尔值的理解。欢呼。
如果存在第一个真值,则||
返回第一个真值:
1 || ANYTHING_IN_THE_WORLD ; // returns 1
所以这里只有
0 + 1 === 1
这是真的。所以是的,你的理解是正确的。
展开执行顺序:
操作符优先级在这里起作用:
0 + 1 === 1 || 1 + 1 === 2 || 2 + 1 === 10
首先是加法:
1 === 1 || 2 === 2 || 3 === 10
然后我们有相等性检查:
true || true || false;
如上所述,true || ANYTHING_AT_ALL
为真,因此最终输出为true
。
||
是or
操作符。因此,如果条件1 或条件2 或条件3为真,则语句为真。
我建议在这里阅读JavaScript: https://developer.mozilla.org/en/docs/Web/JavaScript
返回true,因为首先使用OR运算符(||)true将返回true。
计算将执行:
> 1- is (0+1===1)
=>真的!然后返回true。
> 0+1===1 || 1+1000===1
将返回true,原因相同。
"some apples are purple OR some apples are green"是正确的,因为有些苹果是绿的就足够了。当其中一个为真或两个都为真时,a OR b
为真。a AND b
需要两者都为真
因此,表达式中的某些项为真使得整个表达式为真。如果你用&&
代替||
,它就不会。
看起来你只需要在一个更长的语句列表中有一个真语句就可以使OVERALL语句返回真。对吗?
(几乎)完全正确。我要做的唯一纠正是将"true"替换为"truththy",至少在JavaScript上下文中是这样。例如,3 || 5
不是true
,而是3
,而3
不是true
,它是真理。
- 对于loop.if-仅在经过所有间隔后返回true
- 如果函数返回True,则显示Javascript按钮
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 过滤器返回true或false
- 我对“;返回true"嵌套函数内部;t工作
- 如何在成功输入时使“返回TRUE”
- 检查一个元素是否有一个类与另一个类总是返回true
- JavaScript函数未返回true
- 如果URL中有任何字符串变体匹配,则返回true
- 如何使以下函数返回true或false
- 使用“in”关键字检查 0 始终返回 true
- hasOwnProperty 在对照父对象属性进行检查时返回 true
- 为什么 isNaN 总是返回 true
- _.数组中的每个查找值都返回 true 或 false.使用下划线 JS
- 错误地返回true
- 为什么asp:LinkButton服务器端事件没有'当clientClick返回true时,t激发
- 阻止表单提交 javascript 为什么有一个明显的错误语句返回 true
- Node js命令器args返回true而不是值
- 如何将html表单与php链接,以便在例如单击按钮时返回true
- 从OnClientClick调用函数时,在JavaScript中返回true