ECMAScript中有5種簡(jiǎn)單數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型):
Undefined 、Null、 Boolean 、Number 、String。
還有一種復(fù)雜的數(shù)據(jù)類型——Object,Object本質(zhì)上是由一組無序的名值對(duì)組成的。ECMAScript不支持任何創(chuàng)建自定義類型的機(jī)制,而所有值最終都將是上述六種類型之一。
typeof 操作符
鑒于ECMAScript是松散類型的,因此需要有一種手段來檢測(cè)給定變量的數(shù)據(jù)類型——typeof 就是負(fù)責(zé)提供這方面信息的操作符。對(duì)于一個(gè)值使用typeof操作符可能返回下列某個(gè)字符串:
- "undefined"——這個(gè)值未定義;
- "boolean"——這個(gè)值是布爾值;
- "string" ——這個(gè)值是字符串;
- "number"——這個(gè)值是數(shù)值;
- "object"——這個(gè)值是對(duì)象或
null; - "function" ——這個(gè)值是函數(shù)。
下面是幾個(gè)使用typeof操作符的例子:
var message = "some string";
alert(typeof message); //"string"
alert(typeof (message)); //"string"
alert(typeof 95); //"number"
typeof是一個(gè)操作符不是函數(shù)。
通過typeof操作符能夠區(qū)分函數(shù)和對(duì)象。