JS中精確判斷物件的型別

2021-08-18 07:21:21 字數 526 閱讀 1842

var a = [1,2,3,4,5];

var b = function(){}

var c =

console.log(typeof a,typeof b, typeof c)

在tostring方法被呼叫時,會執行下面的操作步驟:

1. 獲取this物件的[[class]]屬性的值。

2. 計算出三個字串"[object ", 第一步的操作結果result(1), 以及 "]"連線後的新字串。

3. 返回第二步的操作結果result(2)。

[[class]]是乙個內部屬性,所有的物件(原生物件和宿主物件)都擁有該屬性.在規範中,[[class]]是這麼定義的:

內部屬性描述

[[class]]乙個字串值,表明了該物件的型別。

其過程簡單說來就是:1、獲取物件的類名(物件型別)。2、然後將[object、獲取的類名、]組合並返回。

因此在js中準確判斷資料型別用:object.prototype.tostring.call(obj) 即可

判斷 JS 中物件的型別

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

判斷 JS 中物件的型別

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

js中判斷物件具體型別

大家可能知道js中判斷物件型別可以用typeof來判斷。看下面的情況 從上面中我們可以看出陣列和普通物件用typeof判斷出來都是object,但是現在我們有這個需求,我們要明確判斷出這個物件是具體的哪個物件 比如陣列物件,日期物件,正規表示式物件,其他自定義物件,dom物件等等 那怎麼辦呢。其實j...