判斷 JS 中物件的型別

2021-09-22 09:03:55 字數 689 閱讀 4105

1.typeof 

形如 var x = "xx"; typeof x == 'string' typeof(x)

返回型別有:'undefined' 「string」 'number' 'boolean' 'function' 'object' 

缺點:對於object型別不能細分是什麼型別 

優點:對空null的判斷 'undefined'的應用

2.instanceof 

形如 var d = new string('test'); d instanceof string ==true

返回的型別有:string number boolean function object array date 

優點:能區分出更細的型別如 date array 如 var num = 3; num instanceof number 能返回具體的型別

缺點:直變數不能區分 必須採用new 的物件

3.constructor 

形如:var x = ; x.constructor==array

優點:可以返回繼承的型別

缺點: 不能物件的細分,如繼承 必須手動修正

4.object.prototype.tostring.call();

優點:通用,返回"[objectstring]" 具體object的型別

缺點:不能返回繼承的型別

判斷 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...

JS中精確判斷物件的型別

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 第一步的操作結...