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
相关文章
相关标签/搜索