Js 的 typeof 返回值

丫丫狸笫發表於2016-06-05

摘自: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

相關文章