js布尔类型 与 null&&undefined
2019-01-06 本文已影响24人
路上灵魂的自由者
布尔类型:(Boolean)
只有两个值: true / false
如何把其他数据类型转换为布尔类型
-Boolean
· Boolean(1) => true
Boolean(0) => false
Boolean(-1) => true
Boolean(NaN) => false
-!(先把其他数据类型转换为布尔类型,然后取反)
!'哈哈' => false
!'' => true
!0 => true
!1 => false
-!!(先把其他数据类型转换为布尔类型,取两次反)
!!'哈哈哈' => true
!!'' => false
!!0 => false
!!1 => true
!!NaN => false
!!null => false
!!undefined => false
规律:在js中只有“0/NaN/null/空字符串/undefined”这五个值转换为布尔类型的false,其余都是true
null && undefined
都代表空或者没有
- null: 空对象指针
-undefined:未定义
区别:
null一般都是意料之中的没有(通俗理解:一般都是人为手动的先赋值未null,后面的程序中我们会再次给他赋值)
var num = null;
undefined 代表的没有,一般都不是人为手动控制的,大部分都是浏览器自主为空(后面可以赋值也可以不赋值)
var num; //>此时变量的值,浏览器给分配的就是undefined,后面可以赋值也可以不赋值