Open jiaochunxiao opened 4 years ago
instanceof 可以正确判断对象的类型。因为它的内机制是通过判断对象的原型链中是否能找到类型的prototype。 实现instanceof过程:
首先获取类型的原型;
获取对象的原型;
一直循环判断对象的原型是否等于类型的原型,直到对象原型为null,因为原型链的最终为null
function myInstanceof(left, rgiht) { let prototype = right.prototype; let left = left.__proto__; while(true) { if (left === null || left === undefined) { return false; } if (left === prototype) { return true; } left = left.__proto__; } }
instanceof 可以正确判断对象的类型。因为它的内机制是通过判断对象的原型链中是否能找到类型的prototype。 实现instanceof过程:
首先获取类型的原型;
获取对象的原型;
一直循环判断对象的原型是否等于类型的原型,直到对象原型为null,因为原型链的最终为null