002 判斷JS資料型別

2021-09-29 09:41:37 字數 1677 閱讀 7766

typeof 返回乙個表示資料型別的字串,返回結果包括:number、boolean、string、object、undefined、function、symbol等7種資料型別。

舉個栗子:

typeof

null

;// object

typeof undefined;

// undefined

typeof1;

// number

typeof

'1';

// string

typeof

;// object

typeof

true

;// boolean

typeof

function()

;// function

typeof

symbol()

;// symbol

有栗子可見,typeof對於基本型別的判斷相對比較準確(null除外),對於引用型別的無能為力。下面介紹一種能判斷引用型別的方法。

instanceof 是用來判斷 a 是否為 b 的例項對,表示式為:a instanceof b,如果a是b的例項,則返回true,否則返回false。

舉個栗子

[

]instanceof

array

;// true

function()

instanceof

function

;// true

instanceof

object

;// true

雖然instanceof可以判斷引用型別,但是對於基本型別又無能為力了,有沒有一種方式既能判斷基本型別又能判斷引用型別呢,請看第三種方法。

舉個栗子

object.prototype.tostring.

call

(null);

// [object null]

object.prototype.tostring.

call

(undefined)

;// [object undefined]

object.prototype.tostring.

call(1

);// [object number]

object.prototype.tostring.

call

('1');

// [object string]

object.prototype.tostring.

call([

]);// [object array]

object.prototype.tostring.

call

(true);

// [object boolean]

object.prototype.tostring.

call

(function()

);// [object function]

object.prototype.tostring.

call()

;// [object object]

到這裡,我們已經可以對資料型別有了準確的判斷,至於這些方法的原理是什麼,請看後面的文章003-instanceof原理。

js判斷資料型別

1 typeof 形如 var x xx typeof x string 返回型別有 undefined string number boolean function object 缺點 對於object型別不能細分是什麼型別 優點 對空null的判斷 undefined 的應用 2 instanc...

js判斷資料型別

了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...

js判斷資料型別

1 判斷是否為陣列型別 2 判斷是否為字串型別 3 判斷是否為數值型別 isnan 變數 如果為true就是數字型別 注意這個函式一般針對數字型別來判斷是否值為nan,若變數為非數字型別,則先轉化為數字型別再做判斷,用此函式時,別忘考慮空串和空格 這倆轉化為數字是0 4 判斷是否為日期型別 5 判斷...