js中null和” “有什么区别啊。

JavaScript016

js中null和” “有什么区别啊。,第1张

区别非常大:

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 与任何值都不等,与自己也不想等。