1. type of(非引用)
var a="string";console.log(type of a);//string
var a=1;console.log(type of a);//number
var a=false;console.log(type of a);//boolean
var a;console.log(type of a);//boolean
console.log("------------------")
var a=null;console.log(type of a);//object
var a=document;console.log(type of a);//object
var a= [];console.log(type of a);//object
var a=function(){};console.log(type of a) ;//function 除了可以判断数据类型还可以判断function类型
2. instance of(引用的)
var a="string";console.log(a instanceof Array);//false
var a=new String("string");console.log(a instanceof Array);//true
3.constructor
a.constructor == Array
4.万能的Object.prototype.toString.call()
var toString = Object.prototype.toString;
console.log(toString.call(newDate) ==='[object Date]');//true
console.log(toString.call(newString) ==='[object String]');//true
console.log(toString.call(newFunction) ==='[object Function]');//true
console.log(toString.call(Type) ==='[object Function]');//true
console.log(toString.call('str') ==='[object String]');//true
console.log(toString.call(Math) ==='[object Math]');//true
console.log(toString.call(true) ==='[object Boolean]');//true
console.log(toString.call(/^[a-zA-Z]{5,20}$/) ==='[object RegExp]');//true
console.log(toString.call({name:'wenzi', age:25}) ==='[object Object]');//true
console.log(toString.call([1, 2, 3, 4]) ==='[object Array]');//true
//Since JavaScript 1.8.5
console.log(toString.call(undefined) ==='[object Undefined]');//true
console.log(toString.call(null) ==='[object Null]');//true
5.jquery中提供了一个$.type的接口
$.type(function(){})==="function"
$.type([])==="array"
$.type(newDate())==="date"