彻底理解什么是原型、原型链
发布日期:2021-05-14 16:29:59 浏览次数:19 分类:精选文章

本文共 3242 字,大约阅读时间需要 10 分钟。

������������������

��� JavaScript ������������������������������������������������������ Pavel Felardy ������ JavaScript ������������������������������������������������������������������������������������������������������������������������������������������������ null ���������

������������������

������������������������������������������������������JavaScript ��������������������������������������������������������������������������������������������������������������������������������������������������������������� undefined���������������������������������

���������������������

  • ������������������������������������������������������������������������������������������
  • ������������������������������������������������������������������������������������ Object.prototype���������������������������������������������

������������������������������

  • ���������������������������������������������������������__proto__������������������������������������������������
  • ������������������������������������������������������������������������������������prototype���������������������������������������������������������

���������������������������

���������������������������

������������ Object.create() ���������������������������������������������������������������

let obj = Object.create({ name: "���������" });

������������������������

  • ���������������������������������������
  • ���������������������������

���������������

���������������������������������������������������������������������������������

let obj1 = { name: "���������1" };
let obj2 = { name: "���������2", show() { console.log(this.name); } };
Object.setPrototypeOf(obj1, obj2);
obj1.show(); // ������������������1
obj2.show(); // ������������������2

���������obj1 ������������ obj2���


prototype ��� proto ���������

  • prototype���������������������������������������������������������������������������������������
  • proto��������������������������������������������������������������������������������� prototype���

��������������������������������������� __proto__ ��������������������������� prototype���

function User() {}
let obj = new User();
console.log(obj.__proto__ === User.prototype); // true

������������������������

��������������������������������� User ���������

function User(name) {
this.name = name;
}
let obj = new User("���������");

������ obj.name ������JavaScript ������������ obj ��������������������������������������������������� Object.prototype.name��������� obj ��������������� name ������������������������������������������������ name ���������������������


���������������������������������������

������������������������������������������������������������������������������������������

let obj = {  
show() {
console.log("������������");
}
};
Object.prototype.show = function() {
console.log("������������");
};
obj.show(); // ���������������������

���������������obj ������������ show ������������������������������������ show ���������


������

������������ JavaScript ��������������������������������������������������������������������������������������������������� JavaScript ������������������������������������������������������������������������������������������������������������������������������������������������

上一篇:木有进度的一周
下一篇:Web前端面试题——null和undefined的区别

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年04月30日 00时18分02秒