1. 程式人生 > >如何判斷js中物件的型別

如何判斷js中物件的型別

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的型別
缺點:不能返回繼承的型別