美文网首页
【前端】你不得不会的一道原型面试题

【前端】你不得不会的一道原型面试题

作者: 玉面小猿 | 来源:发表于2018-07-22 18:13 被阅读0次
//prototype 面试题
Function.prototype.a ='a';
Object.prototype.b   ='b';
function Person() {};
var p =new Person();
p.a;  
p.b;
console 初始化并打印
先来说说Person()

本题中Person,为Function类型,通过继承可以得到a();
本题中Person 通过Person.prototype 访问到 constructor 和 __ proto__,接着找到我们定义的b()
显然,Person的构造器是一个函数,Person构造函数的原型为Object
因此通过访问 Person.prototype.__ proto__ 可以拿到b方法


Person.prototype
再来说说 p=new Person();

p为Person的一个实例,p的constructor为Person();
prototype中的内容与Person() 保持一致
但对于函数a,由于没有在函数Person()的原型中实例化,因此无法实现继承;
重写Person()的原型,可以得到函数a()


实现Person()继承a

相关文章

网友评论

      本文标题:【前端】你不得不会的一道原型面试题

      本文链接:https://www.haomeiwen.com/subject/vsfrmftx.html