**instanceof** 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。

    Q:如果检验一个对象是不是某个构造函数的实例?
    A:检验构造函数的prototype属性是否出现在这个对象的原型链上

    实现:

    1. function instanceof(ins, Con) {
    2. const prototype = Con.prototype
    3. let proto = ins.__proto__
    4. // 遍历原型链
    5. while(true) {
    6. if (ins === null) return
    7. if (proto === prototype) {
    8. return true
    9. }
    10. proto = proto.__proto__
    11. }