采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好 我有两个问题 一个是:我之前一直理解__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__
}
false
;
登录后可查看更多问答,登录/注册
掌握前端的底层语言,成为精通 JS 的原生专家
645 4
411 4
824 3
719 3
694 3
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号