undefined null 和空串的区别

var  str1;//输出undefined 类型(type)是undefined

var str2="";//输出空串 类型是string

var str3={ };//输出[Object object] 类型是object

var str4=null;//输出null 类型是object

str1只是开辟了一块内存单元,并没有对他进行存值,这个时候访问该变量(内存单元),获取的当然是个undefined,假如定义了一个函数,该函数并没有返回值,那么输出该函数的结果也是一个undefined,和上面的是同样的道理,因为该返回值没有被定义

 

str2定义了一个变量,里面存了一个空串,访问时获取的也是一个空串

 

str3是定义了对象,不管这个对象内部是否有东西,他输出的都是一个object

 

str4就是一个null了,他的类型是一个object,她经常用在判断上,如果变量没有定义或者说这个对象(或者元素)不存在,返回的都是一个null

 

注意:如果判断获取的input标签是否有内容,应该是用“”(空串来进行判断,而不是用null),因为获取input中地值本身就是一个字符串,这个input是存在的,并不是因为空(null)的,所以说,判断input元素的值是否为空应该用inputValue==“”来判断,而不是null

posted @ 2021-08-24 18:11  luckyshan  阅读(123)  评论(0)    收藏  举报