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]