在js中,为什么!0是true,0是false,1是false,1是true,-1是false,-1是true看过别人以下解析:1.==会把比较的二者进行类型转换:如:0 == false; // true,会把0转成bool值进行比较1 == true; // true,同样把1转成bool值
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 16:53:15
在js中,为什么!0是true,0是false,1是false,1是true,-1是false,-1是true看过别人以下解析:1.==会把比较的二者进行类型转换:如:0 == false; // true,会把0转成bool值进行比较1 == true; // true,同样把1转成bool值
在js中,为什么!0是true,0是false,1是false,1是true,-1是false,-1是true
看过别人以下解析:
1.==会把比较的二者进行类型转换:
如:0 == false; // true,会把0转成bool值进行比较
1 == true; // true,同样把1转成bool值再和true进行比较
2.===是不会把比较的二者进行类型转换,是string就是string,是number就是number
如:0 === false; // false,因为0是number,false是boolean,两者就肯定不相等
1 === true; // false
但如果
-1==false //false
-1==true //false
负数用==去判断都是false,什么原理?
在js中,为什么!0是true,0是false,1是false,1是true,-1是false,-1是true看过别人以下解析:1.==会把比较的二者进行类型转换:如:0 == false; // true,会把0转成bool值进行比较1 == true; // true,同样把1转成bool值
很简单 true 和false 和负数比较 会把 true 隐式转换为1 false隐身转换为0
所以负数用==去比 是false
!-1是false,!-1是true 这个原理 因为JS规定 非0的数字是true !-1 相当于 !true 肯定是false !true == true
你把握隐式转换 和 非0的数是true 就可以解决你的疑惑