js中的空字符串相当于null还是相当于undefined?
使用var声明变量但未对其加以初始化时,这个变量的值就是undefined,如:
var username;
alert(username == undefined);//true
var arr = [];
alert(arr[0] == undefined);//true
而null表示一个空对象指针,用法:
如果定义的变量准备在将来用于保存对象,一般将变量初始化为null。
空字符串是一个实实在在的对象,值为空而已,所以它既不是null也不是undefined
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答854 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
含义上是有区别的。
定义三个变量:
s1是undefined,说明它没有被初始化。js解释器认为这个变量是需要初始化的。
s2已经被初始化为null,不过是被初始化为一个空对象null。null本身是一个对象。
s3已经被初始化字符串,它已经有了数据类型,也有对应的存储位置。