0
点赞
收藏
分享

微信扫一扫

JS中的原型和原型链

奔跑的酆 2023-08-04 阅读 67

原型

1.普通对象

每个对象都有一个__proto__属性,该属性指向对象的原型属性

 const obj = { name: '张三' }
 console.log(obj, obj.__proto__);
 console.log(Object, Object.prototype);

在这里插入图片描述
我们可以得出:obj.proto === Object.prototype

 console.log(obj.__proto__ === Object.prototype); // true
2.依赖构造函数产生的实例化对象

在这里插入图片描述

  • 每个构造函数都有一个prototype属性,该属性指向原型对象原型对象用来给各个实例化对象共享属性和方法。
  • 每个实例化对象都有一个__proto__属性,该属性也指向原型对象
  • 每个原型对象都有一个constructor属性,指向构造函数本身
// 构造函数的原型对象的constructor指向构造函数本身
console.log(Person===Person.prototype.constructor)  // true
// 实例化对象的__proto__指向构造函数的原型对象
console.log(per.__proto__ == Person.prototype) // true
// 同1,只是要经过2转化下
console.log(per.__proto__.constructor == Person) // true
举报

相关推荐

0 条评论