typeof
1、typeof操作符:
由于ECMAScript是松散类型的,因此需要一种手段来检测给定变量的数据类型——typeof就是负责提供这个方面信息的操作符。
typeof返回值:
undefined:如果值未定义;
Boolean:值是布尔值;
string:值是字符串;
number:值是数值;
object:值是对象或null;
function:值是函数;
null会被认为是一个空的对象引用。
函数在ECMAScript中是一个对象,不是一个数据类型,但是,函数也确实有一些特殊的属性,因此通过typeof区分函数和其他对象是有必要的。
2、null与undefined的区别:
null和undefined都是只有一个值的数据类型
一般而言,不需要为一个变量设置undefined的值,因为未经初始化的值默认就会取undefined值,如果传递一个值为undefine的的变量就会报错。
如果想要在将来保存对象,就应该明确地让该变量保存null值。空指针
null == undefined true
null === undefined false