采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
instanceof中是否需要对null 和 undefined做处理
原型链的顶端是null,判断implicitPrototype===null即可
我的意思是,用我们的instanceof方法 const result = instance_of(null,Object) 是报错的 但是如果是null instanceof Object 是返回 false
let implicitPrototype = obj?.__proto__;即可,obj后面加个'?',若传入null或者undefined,则implicitPrototype就会得到undefined,我的写法: function myInstanceof(obj, constructor) { let implicitPrototype = obj?.__proto__; const displayPrototype = constructor.prototype; while (implicitPrototype) { if (implicitPrototype === displayPrototype) return true; implicitPrototype = implicitPrototype.__proto__; } return false; } 如果是老师的写法,这样改:let implicitPrototype = obj ? obj.__proto__ : null;
好的 谢谢老师
登录后可查看更多问答,登录/注册
构建适合前端校招面试的知识体系,帮助应届生搞定面试全流程
556 6
531 6
638 4
558 4
735 4