采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好 我有两个问题 一个是:我之前一直理解__proto__是浏览器给的属性,背后一直以为是对象自身的属性,并没有觉得是原型上的,所以其实是浏览器通过原型上的属性提供的这个属性? 第二个是:instanceof,之前理解是先通过__proto__找到原型,然后通过原型的constructor属性来找到构造函数~,所以这个理解是不是也是不对的,是通过判断构造函数的原型和对象原型是否相等来确定的。
第一个问题:
是不是自身的属性,可以通过Object.getOwnPropertyDescriptor来判断
第二个问题 : instanceof
其逻辑可以用下面的代码描述。
function instanceOf(instance, cclass) { let proto = instance.__proto__ let prototype = cclass.prototype while (proto) { if (proto === prototype) return true proto = proto.__proto__ } return false; }
登录后可查看更多问答,登录/注册
掌握前端的底层语言,成为精通 JS 的原生专家
561 4
327 4
725 3
630 3
621 3