为什么true/true是1,true/false是无穷大,false/true是0,false/false是NaN
Why true/true is 1, true/false is Infinity, false/true is 0 and false/false is NaN?
我很高兴发现以下Javascript行为:
$ node
> false/true
0
> false/false
NaN
> false/true
0
> true/true
1
> true/false
Infinity
为什么会发生这种情况?
我的第一种方法是Javascript将false
转换为0
,将true
转换为1
。
这是正确的吗?如果能参考一下文件,那就太好了。
你说得对,ToNumber
抽象运算将true
转换为1
,将false
转换为正0
。
说明书上写着:
布尔型
如果参数为true,则结果为1。如果参数为false。
> 0/0
NaN
> 1/0
Infinity
> 0/1
0
> 1/1
1
它们都被转换成数字。
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- JavaScript-切换“;全部检查”;复选框true/false
- (false==false==true)怎么可能是真的
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 过滤器返回true或false
- 什么是'true'和'false'和'null'
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作
- 在JavaScript中为true==1和false==0
- true==false以某种方式计算为true
- 获取Javascript中单选按钮的true或false
- 使用!而in运算符在应该为true时返回false,为什么
- 如何使以下函数返回true或false
- 为什么 javascript 返回对象位置 true 或 false
- 如何使函数将属性值从 FALSE 设置为 TRUE
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- 在 JavaScript 中,为什么 []==false 为 true
- 为什么true/true是1,true/false是无穷大,false/true是0,false/false是NaN
- Javascript 布尔值:false && true 结果为 true
- 覆盖保留字(设置 false = true)
- 为什么这个类不返回false|| true