**
数据类型判断
**
1 typeof判断基本数据类型:
有typeof(表达式)和typeof变量名两种方式(对于复杂数据类型统一返回object)(返回字符串类型)
第一种判断表达式 第二种判断变量 字符串类型
2 instanceof判断引用数据类型:
instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性 第一个参数是要检测的对象 第二是另一个构造函数(返回true或者false)
3 constructor :
constructor是prototype对象上的属性,指向构造函数。(返回true或者false)
除了undefined和null之外,其他类型都可以通过constructor属性来判断类型,但是如果把一个构造函数的原型指向改变了 constructor可能也判断不了
4 toString(返回数据类型) 完美的解决方案:
使用Object.prototype.toString.call()的方式来判断一个变量的类型是最准确的方法