instanceof主要用于判斷R是否為L(zhǎng)的父類吗坚,R表示instanceof右側(cè)構(gòu)造函數(shù),L表示instanceof左側(cè)需要對(duì)比的對(duì)象實(shí)例牡彻。instanceof的原理是比較L的原型鏈上是否有R的原型對(duì)象,如果存在总寻,則返回true,否則返回false祟印≡桃洌可以用以下代碼進(jìn)行表示
function instanceOf(L, R) {
R = R.prototype
L = L.__proto__
while (true) {
if (L === null) {
return false
}
if (L === R) {
return true
}
L = L.__proto__
}
}