1,typeof
只能基本数据类型,有string,object,function,Boolean,Number,undefined
2,instanceof
判断引用数据类型,原理是判断a的__proto__是否等于b的prototype(a instanceof b)
let myInstance=function(a,b){
// debugger
let l=a.__proto__
while(1){
if(l!=b.prototype){
l=l.__proto__
}else{
return true
}
if(l==null)break
}
return false
}
let a=[],b={}
// console.log(myInstance(a,Array))
console.log(myInstance([],Array))
3,constructor
“a".constructor==String
4,object.prototype.toString.call()