能夠經過toString()
來獲取每一個對象的類型。爲了每一個對象都能經過 Object.prototype.toString()
來檢測,須要以 Function.prototype.call()
或者 Function.prototype.apply()
的形式來調用,傳遞要檢查的對象做爲第一個參數,稱爲thisArg
。app
var toString = Object.prototype.toString; toString.call(new Date); // [object Date] toString.call(new String); // [object String] toString.call(Math); // [object Math] //Since JavaScript 1.8.5 toString.call(undefined); // [object Undefined] toString.call(null); // [object Null]
能夠寫個函數來判斷個數據類型函數
function consoleType(obj) { return (Object.prototype.toString.apply(obj)); } consoleType([]); // [object Array] consoleType(null); // [object Null] consoleType(undefined); // [object Undefined] consoleType(0); // [object Number] consoleType(new Date); // [object Date] consoleType({}); // [object Object] consoleType(function () {}); // [object Function] consoleType(NaN); // [object Number] consoleType('a'); // [object String]
consoleType(/\d/); // [object RegExp]