instanceof 是通過原型鏈判斷的,A instanceof B, 在A的原型鏈中層層查找,是否有原型等於B.prototype,如果一直找到A的原型鏈的頂端null,仍然不等於B.prototype,那么返回false,否則返回true.
function instance(left,right){ left=left.__proto__ right=right.prototype while(true){ if(left==null) return false; if(left===right) return true; left=left.__proto__ } }