js 中坑爹的0
直接上代码:
- var a=0;
- if(a){
- alert(true);
- }else{
- alert(false);
- }
运行结果是什么呢?
按照正常人的思维,应该为true,因为我们确实给a赋予了值.
但是结果往往是残酷的.
运行结果是false
- var a=0;
- if(a==false){
- alert(true);
- }else{
- alert(false);
- }
运行结果:true
- var a=0;
- console.log(a=='');//true
运行结果:
true
- var a=0;
- console.log(a==='');//false
JavaScript 的类型系统是非常混乱的,类型特性不明显,而且交叉错乱.javascript语法系统拥有一大组假值,如以下代码所示.这些值的布尔值都是false.
0 //Number
NaN //Number
'' //String
false //Boolean
null //Object
undefined //Undefined
时间: 2024-10-07 21:21:32