null是对象类型,表示空对象,alert(typeof(null))会输出object
" "是一个空格的字符串,alert(typeof(" "))会输出string。
js中的null代表不存在,在某些情况下和undefined定义一样,比如null==undefined返回的是true;而undefined这表示未定义;undefined是个类型,null是个object;然而''则表示具体的类型的值了;如果一个变量申明了未赋值,则类型未定义,这里判断变量==null会返回true;根本区别在于变量是否已经赋值,即是否已经初始化
这里要清楚:null是个object类型,且值只有null
undefined是个undefined类型,值只有undefined
''是个String类型的值
那么这里null==undefined返回true
null===undefined返回false
null==''返回false
undefined==''返回false
undefined 是未定义的值和定义未赋值,一般出现在对象属性不存在或声明了变量但从未赋值时;
null 是一种特殊的 object,包含“无值”或“无对象”。换句话说,该变量没有保存有效的数、字符串、boolean、数组或对象;
NaN 是一种特殊的 number,表示“非数字”(非数字的含义不仅仅是不是数字,也包括无理数和溢出数值)。
undefined 与 null 是值相等,但实际并不等(== 和 === 的区别);NaN 与任何值都不等,与自己也不想等。