typeof返回一个表达式的数据类型的字符串,返回结果为js基本的数据类型,包括number,boolean,string,object,undefined,function.语法为typeof(data) 或 typeof data
instanceof则为判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例;返回boolean类型
语法为 o instanceof A
functionPerson(){};
var p = new Person();
console.log(p instanceof Person);//true
模拟instanceof
function _instanceof(A, B){
var O = B.prototype;// 取B的显示原型
A= A.__proto__;// 取A的隐式原型
while(true) {
//Object.prototype.__proto__ === null
if(A === null)
return false;
if(O === A)
// 这里重点:当 O 严格等于 A 时,返回 true
return true;
A= A.__proto__;
}}