typeof 检测给定变量的数据类型,通过typeof来区分函数和其它对象
var message = ‘some string‘;
console.log(typeof(message)); // "string"
console.log(typeof(null)); // "Object" 特殊的返回值,因为null被认为是一个空的对象引用。
注意:
- 尚未声明过的变量,只能进行一项操作,就是使用typeof检测它的数据类型
Undefined 它只是一个值,值是undefined.
场景:使用var 声明变量,但没有赋值(没有初始化)时,这个变量会返回 undefined.
Undefined主要目的是用于比较,是为了正式区分空对象指针与未经过初始化的变量,我理解为,是为了区分变量的返回值是空对象null还是undefined
当声明变量未赋值时,这个变量与undefined是等价的
var message;
console.log(message == undefined); //true
无论什么情况下,都不要把一个变量的值,设为undefined
注意:
- 对未赋值的变量与未声明的变量,执行typeof时,均返回 undefined;
- 在实际操作中,只需要知道一点,使用typeof检测变量时,如果返回 undefined ,我们就会知道,这个变量没有被赋值,就是没有被初始化;
null 它只有一个值,是第二个只有一个值的数据类型,它的值是 null。
它表示一个空的对象指针,使用typeof检测时会返回 “Object”.
var message = null;
console.log(typeof(message)); // "Object"
如果定义的变量,将来用于保存对象,那么最好将该变量初始化为null,因为null是一个空对象.如果这个变量还没有真正的保存对象,那么这个变量的值就应该是null,而不是其它的数据类型
时间: 2024-10-16 01:23:59