JS判断数据类型常见有四种方法:http://t.csdn.cn/XjFNR
其中instanceOf 可以用来判断引用类型的数据类型
原理
其原理是加入判断arr是不是Array
那么就是看Array的原型在不在arr的原型链上
代码
// L:对象实例 R:构造函数或者父类型实例
function instance_of(L, R) {
// 显式原型
let O = R.prototyoe;
// 隐式原型
let L = L.__proto__;
//循环遍历,进行判断两个值是否相等,相等返回true,不相等继续查找L的原型链
while(true) {
if (L === null)
return false;
if (O === L)
return true;
L = L.__proto__;
}
}