摘自:http://www.cnblogs.com/lidabo/archive/2011/12/29/2305770.html
js中的typeof是一個運算符,一元運算。
typeof sth
不需要加括號的。
返回值是一個字符串,說明運算數的類型。
typeof 1;
typeof NaN;
typeof Number.MIN_VALUE;
typeof Infinity;
typeof "123";
typeof true;
typeof window;
typeof document;
typeof null;
typeof eval;
typeof Date;
typeof sss;
typeof undefined;
typeof是一個一元運算符,它返回的結果 始終是一個字符串,對不同的操作數,它返回不同的結果。
具體的規則如下:
number
對於數字類型的操作數而言, typeof 返回的值是 number。
比如說:
typeof(1),返回的值就是number。
上面是舉的常規數字,對於非常規的數字類型而言,其結果返回的也是number。
比如
typeof NaN
NaN在JavaScript中代表的是特殊非數字值,雖然它本身是一個數字類型。
在JavaScript中,特殊的數字類型還有幾種:
Infinity 表示無窮大特殊值
NaN 特殊的非數字值
Number.MAX_VALUE 可表示的最大數字
Number.MIN_VALUE 可表示的最小數字(與零最接近)
Number.NaN 特殊的非數字值
Number.POSITIVE_INFINITY 表示正無窮大的特殊值
Number.NEGATIVE_INFINITY 表示負無窮大的特殊值
以上特殊類型,在用typeof進行運算進,其結果都將是number。
string
typeof "123"
boolean
typeof true
object
對於對象、數組、null返回的值是object。
比如說
typeof window
typeof document
typeof null
function
對於函數類型,返回的值是function.
typeof eval
typeof Date
undefined
如果運算數是沒有定義的(不存在的變量、函數或者undefined等),將返回undefined
typeof sss
typeof undefined