js中None,undefined,null ,0,Flase,NaN真假
1、首先我们来看看,常用到的False,意思是假的,我先定义一个变量等于它,结果报错,如下所示
var a=False

2、由上面可以看出 False其实不是js的bool类型,有时候我们从后台返回的值为False,或者True其实对js来说只是一个字符串,js的bool类型是true,和false如下所示,当a为false的时候不输出
var a =false
if(a){console.log(123)}

3、下面我们看看undefined,如下所示
var mmm
if(mmm){console.log(123)}
没输出
console.log(mmm)
输出 undefined
可以看出undefined是假的

4、下面我们来看看null,是不是也是假的呢,
我们定义一个变量等于null
var cc=null
console.log(cc)
输出: null
if(cc){console.log(oooo)}
没输出
可以看出null也是个假的

5、下面我们看看js中的NaN,
开始我们也是定义一个变量
var nn=NaN
if(n无输出
输出NaN
可以看出NaN在js中也是个假的类型

6、我们在看看0,1在js中的真假,如下所示:
if(0){console.log(0000)}
无输出
if(1){console.log(1111)}
输出: 1111
可以看出0是假的,1是真的,

7、步骤6中如果是其它数字呢,比如2.1,3,7,8,-1,-2.9等等一些数字,如下所示:
if(-2.9){console.log(-2.9)}
输出 -2.9
if(9){console.log(-2.9)}
输出 -2.9
if(9.9){console.log(9.9)}
输出 9.9
if(-1){console.log(-1)}
输出 -1
可以看出除了0其它数字都是真的。

8、最后我们看看None,我们也是先试图定义一个None的变量,如下所示:
var ff=None
输出错误 Uncaught ReferenceError: None is not defined at <anonymous>:1:8
可以看出None也是我们后端语言传入的一个参数,js只能把它当作字符串处理
