JavaScript -- typeof 判斷數據類型,只能區分基本類型,即 “number”,”string”,”undefined”,”boolean”,”object” 五種。
對於數組、函數、對象,使用 typeof 都會統一返回 “object” 字符串。
要判斷復合數據類型,可以如下判斷:
var a = {}; 對象
var b = []; 數組
var c = function () {}; 函數
//對象 (a instanceof Object) && !(a instanceof Function) && !(a instanceof Function) //數組 (a instanceof Object) && (a instanceof Array) //函數 (a instanceof Object) && (a instanceof Function)
更簡便的方式,即是使用 Object.prototype.toString.call() 來確定類型
console.log(Object.prototype.toString.call(123)) //[object Number]
console.log(Object.prototype.toString.call('123')) //[object String]
(undefined)) //[object Undefined]
(true)) //[object Boolean]
({})) //[object Object]
([])) //[object Array]
(function(){})) //[object Function]