1. 程式人生 > >js instanceof 實現原理

js instanceof 實現原理

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。