项目中变量初始化以及后端传值遇到时区分不清,在此总结一下。
undefined和null
一、定义
undefined:已声明但未赋值的变量,会默认被赋值为undefined
var a;//a默认被赋值为undefined
null:尚未创建的对象; 表示缺少,变量尚未指向任何对象
二、何时使用?
undefined:清空变量的值和类型
var person = undefined; // 值为 undefined, 类型是undefined
null:清空对象,释放变量引用的对象,表示变量未指向任何对象。
var person = null; // 值为 null, 类型为对象
三、区别
值相等,但类型不同
null == undefined // true
typeof undefined // undefined
typeof null // object
null === undefined // false
四、总结
1.undefined:
(1)可用于给暂无值的变量赋初值,表示已声明但还没有值;
(2)也可在需要清空变量值时赋为undefined
2.null:
(1)一个变量,将来会指向一个对象,但目前还没有时可赋为null;
(2)在使用完一个对象,需释放其内存时,可将其赋为 null,当此对象不再被任何变量引用时,将会被释放。
空字符串''
'':表示空字符串,类型为string,变量类型为string时可赋为初值或清空。