1.typeof:
可以判断所有基本类型,除了null,因为null的二进制是000,而所有对象的二进制表示的前三位也是000.所以typeof null 是 object
2.instance of
大多数用来判断是否是另一个实例。- 引用类型我们使用instanceof去判断.左边的对象时候是右边构造函数的实例。
对于基本类型,直接报错或者false。
3.constructor 基本不用,有时候有用,缺陷:可改,重写prototype不准。
4.Object.prototype.toString().call().
其他类型,比如123.tostring()意义和Object上的不一样,继承Object的Array、Date、RegExp都重写了。
这个最常用最准确.
5.api
Array.isArray,isNaN