如何判斷js中物件的型別
阿新 • • 發佈:2019-01-25
1.typeof
形如 var x = "xx"; typeof x == 'string' typeof(x);
形如 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的型別
缺點:不能返回繼承的型別