JS手动实现instanceof

2019-08-07  本文已影响0人  奔跑的丸子129

1.instanceof实现原理

function instance_of(L, R) {//L 表示左表达式,R 表示右表达式 

    var O = R.prototype;   // 取 R 的显示原型 

    L = L.__proto__;  // 取 L 的隐式原型

    while (true) {    

        if (L === null)      

             return false;   

        if (O === L)  // 当 O 显式原型 严格等于  L隐式原型 时,返回true

             return true;   

        L = L.__proto__;  

    }

}

2、解释说明

示例: a instanceof B

检测a的原型链(proto)上是否有B.prototype,若有返回true,否则false。

上一篇下一篇

猜你喜欢

热点阅读