扫码关注官方订阅号
js中的空字符串相当于null还是相当于undefined?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
含义上是有区别的。定义三个变量:
var s1, s2 = null, s3 = '';
s1是undefined,说明它没有被初始化。js解释器认为这个变量是需要初始化的。s2已经被初始化为null,不过是被初始化为一个空对象null。null本身是一个对象。s3已经被初始化字符串,它已经有了数据类型,也有对应的存储位置。
都不是,空串就是空串
都不是null是无值undefined是未定义
使用var声明变量但未对其加以初始化时,这个变量的值就是undefined,如:var username;alert(username == undefined);//truevar arr = [];alert(arr[0] == undefined);//true
而null表示一个空对象指针,用法:如果定义的变量准备在将来用于保存对象,一般将变量初始化为null。
空字符串是一个实实在在的对象,值为空而已,所以它既不是null也不是undefined
都不是
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
含义上是有区别的。
定义三个变量:
s1是undefined,说明它没有被初始化。js解释器认为这个变量是需要初始化的。
s2已经被初始化为null,不过是被初始化为一个空对象null。null本身是一个对象。
s3已经被初始化字符串,它已经有了数据类型,也有对应的存储位置。
都不是,空串就是空串
都不是
null是无值
undefined是未定义
使用var声明变量但未对其加以初始化时,这个变量的值就是undefined,如:
var username;
alert(username == undefined);//true
var arr = [];
alert(arr[0] == undefined);//true
而null表示一个空对象指针,用法:
如果定义的变量准备在将来用于保存对象,一般将变量初始化为null。
空字符串是一个实实在在的对象,值为空而已,所以它既不是null也不是undefined
都不是