1. typeOf: 只能用来判断基本数据类型,不能判断引用数据类型和undefined和null
2. constructor 构造器
原理:实例对象本身没有constructor属性,但是可以通过原型链的关系,实例对象可以使用构造函数的原型对象上的constructor构造器
优点:可以判断基本数据类型和引用数据类型
缺点:不能判断undefined和null
3. instanceof 判断是否是构造函数的实例对象
和typeof相反,这个只能判断引用数据类型,不能判断基本数据类型
万物皆对象。数组,函数,对象都是object的实例对象,判断时,要把对象的判断放在最后
4. Object.prototype.toString.call()
这是最完美的判断数据类型的方法,可以判断所有的数据类型