JavaScript基本概念之数据类型判断typeof

ECMAScript中有5种简单数据类型(也称为基本数据类型):
UndefinedNullBooleanNumberString
还有一种复杂的数据类型——ObjectObject本质上是由一组无序的名值对组成的。ECMAScript不支持任何创建自定义类型的机制,而所有值最终都将是上述六种类型之一。

typeof 操作符

鉴于ECMAScript是松散类型的,因此需要有一种手段来检测给定变量的数据类型——typeof 就是负责提供这方面信息的操作符。对于一个值使用typeof操作符可能返回下列某个字符串:

  • "undefined"——这个值未定义;
  • "boolean"——这个值是布尔值;
  • "string" ——这个值是字符串;
  • "number"——这个值是数值;
  • "object"——这个值是对象或null;
  • "function" ——这个值是函数。

下面是几个使用typeof操作符的例子:

var message = "some string";
alert(typeof message);    //"string"
alert(typeof (message));  //"string"
alert(typeof 95);  //"number"

typeof是一个操作符不是函数。
通过typeof操作符能够区分函数和对象。

推荐阅读更多精彩内容