首页 > js中的空字符串相当于null还是相当于undefined?

js中的空字符串相当于null还是相当于undefined?

js中的空字符串相当于null还是相当于undefined?



都不是


使用var声明变量但未对其加以初始化时,这个变量的值就是undefined,如:
var username;
alert(username == undefined);//true
var arr = [];
alert(arr[0] == undefined);//true

而null表示一个空对象指针,用法:
如果定义的变量准备在将来用于保存对象,一般将变量初始化为null。

空字符串是一个实实在在的对象,值为空而已,所以它既不是null也不是undefined


含义上是有区别的。
定义三个变量:

var s1,
    s2 = null,
    s3 = '';

s1是undefined,说明它没有被初始化。js解释器认为这个变量是需要初始化的。
s2已经被初始化为null,不过是被初始化为一个空对象null。null本身是一个对象。
s3已经被初始化字符串,它已经有了数据类型,也有对应的存储位置。


都不是
null是无值
undefined是未定义


都不是,空串就是空串

【热门文章】
【热门文章】