js的基本數據類型:string,boolean,number,null,undefined,symbol(ES6)prototype
引用數據類型:Object對象
判斷基本數據類型:typeof ,須要注意的是null返回Object原型
判斷引用類型:instanceof ,判斷對象的原型 任何function 和 Object都有一個原型Objectstring
共通的方法io
Object.prototype.toString.call(須要檢測的數據)console
- Object.prototype.toString.call(1): [object Number]
- Object.prototype.toString.call(NaN): [object Number]
- Object.prototype.toString.call("1"): [object String]
- Object.prototype.toString.call(true): [object Boolean]
- Object.prototype.toString.call(null): [object Null]
- Object.prototype.toString.call(undefined): [object Undefined]
- Object.prototype.toString.call({}): [object Object]
- Object.prototype.toString.call({a: "a"}): [object Object]
- Object.prototype.toString.call(console.log): [object Function]
這裏除了對NaN的判斷其餘都符合預測function
對於NaN的判斷object
isNaN(v)數據類型
(new Set([NaN, v])).size引用