如何判斷js中物件的型別

2022-08-21 15:15:10 字數 692 閱讀 3912

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 中物件的型別

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