1、typeof( 返回数据类型 )
返回数据类型,包含这7种: number、boolean、symbol、string、object、undefined、function。
typeof 对于基本数据类型判断是没有问题的,但是遇到引用数据类型(如:Array)是不起作用
2、instanceof(实例、判断对象类型)
注意: instanceof 检测的是原型
判断 new 关键字创建的引用数据类型
不考虑 null 和 undefined(这两个比较特殊)以对象字面量创建的基本数据类型
instanceof 只能用来判断两个对象是否属于实例关系, 而不能判断一个对象实例具体属于哪种类型。
3、constructor( 构造函数 )
constructor 似乎完全可以应对基本数据类型和引用数据类型 但如果声明了一个构造函数,并且把他的原型指向了 Array 的原型,所以这种情况下,constructor 也显得力不从心
4、toString (Object.prototype.toString.call()转换对象为字符串 )
完美的解决方案