当前位置:网站首页 > 技术博客 > 正文

js原型原型链有什么特点



JavaScript

中的

原型

原型链

是理解

JavaScript

面向对象编程的重要概念之一。

JavaScript

中,每个对象都有一个

原型

(prototype),

原型

是一个对象,它包含了共享的属性和方法。当我们访问一个对象的属性或方法时,如果该对象本身没有这个属性或方法,

JavaScript

会去它的

原型

中查找。

原型链

是由一系列对象组成的链表结构,每个对象都有一个指向其

原型

的引用。当我们访问一个对象的属性或方法时,如果该对象本身没有,

JavaScript

会沿着

原型链

向上查找,直到找到对应的属性或方法或者到达

原型链

的末尾(null)。

下面是一个简单的

图解

 +--+ | Object | +--+ | __proto__ | | | | constructor | | toString() | | ... | +--+ ^ | +--+ | Prototype | +--+ | __proto__ | | | | constructor | | hasOwnProperty()| | ... | +--+ ^ | +--+ | Prototype | +--+ | __proto__ | | | | constructor | | ... | +--+ ^ | . . . 

在这个

中,每个对象都有一个`__proto__`属性,指向它的

原型

对象。

原型

对象也是一个对象,同样有一个`__proto__`属性,指向它的

原型

对象,以此类推,形成了

原型链

当我们访问一个对象的属性或方法时,

JavaScript

会先在该对象本身查找,如果找不到,就会沿着

原型链

向上查找,直到找到对应的属性或方法或者到达

原型链

的末尾(null)。

版权声明


相关文章:

  • amc数学竞赛什么时候出成绩2024-11-06 18:01:04
  • 超线程技术开启还是关闭2024-11-06 18:01:04
  • 前端实现权限管理2024-11-06 18:01:04
  • java bitset用法2024-11-06 18:01:04
  • 大端和小端字节顺序的区别2024-11-06 18:01:04
  • 搭建rsyslog日志服务器2024-11-06 18:01:04
  • 进程和线程的相同点2024-11-06 18:01:04
  • 尺度空间.apk2024-11-06 18:01:04
  • select中嵌套一个select2024-11-06 18:01:04
  • 数据库有哪些?2024-11-06 18:01:04