JS基础-数据类型判断typeof、instanceof、Object.prototype.toString

  1. typeof用在基本数据类型和函数时,返回其对应类型的描述,对于引用类型都返回为object.
  2. instanceof无法判断基本数据类型,对于引用类型数据,返回其其对应类型。
  3. Object.prototype.toString无论基本数据类型还是引用类型返回其对应类型。

对应测试结果如下:

 

  typeof test instanceof Object.prototype.toString.call(test)
var test = 'xuriliang'; string test instanceof String //false [object String]
var test = 27; number test instanceof Number //false [object Number]
var test = true; boolean test instanceof Boolean //false [object Boolean]
var test = [1,2,3]; object test instanceof Array //true [object Array]
    test instanceof Object //true  
var test = null; object test instanceof Object //false [object Null]
var test = undefined; undefined test instanceof Object //false [object Undefined]
var test = new String('xuriliang') object test instanceof String //true [object String]
    test instanceof Object //true  
var test = new Number(27) object test instanceof Number //true [object Number]
    test instanceof Object //true  
var test = new Boolean(true) object test instanceof Boolean //true [object Boolean]
    test instanceof Object //true  
var test = new Array(1,2,3) object test instanceof Array //true [object Array]
    test instanceof Object //true  
var test = function(){} function test instanceof Function //true [object Function]
    test instanceof Object //true  
var test = /d/ object test instanceof RegExp //true [object RegExp]
    test instanceof Object //true
上一篇:JS中如何判断数据类型


下一篇:JavaScript关于返回数据类型一个小小的笔记