构造函数与原型对象和实例对象的关系

简介: 构造函数与原型对象和实例对象的关系 //通过构造函数实例对象,并初始化 //var arr=new Array(10,20,30,40); //join是方法,实例对象调用的方法 //arr.join("|"); //console.

构造函数与原型对象和实例对象的关系

//通过构造函数实例对象,并初始化
//var arr=new Array(10,20,30,40);
//join是方法,实例对象调用的方法
//arr.join("|");
//console.dir(arr);
//join方法在实例对象__proto__原型
//console.log(arr.__proto__==Array.prototype);
//原型的作用之一:共享数据,节省内存空间
//构造函数
function Person(age,sex) {
  this.age=age;
  this.sex=sex;
}
//通过构造函数的原型添加一个方法
Person.prototype.eat=function () {
  console.log("明天中午吃完饭就要演讲,好痛苦");
};
var per=new Person(20,"男");
// per.__proto__.eat();
per.eat();
// per.eat();
//构造函数,原型对象,实例对象之间的关系

console.dir(Person);
//console.dir(per);

结论 构造函数中的prototype 即Person.prototype == 实例对象中的__proto__ 即per.__proto__
两者共用一块内存空间即 per.__proto__指向Person.protoype

Image and video hosting by TinyPic

而构造函数中的prototype的constructor构造器指向的自身

Image and video hosting by TinyPic

目录
相关文章
|
8月前
|
设计模式 Java 编译器
面向对象编程中的继承与多态:深入理解父类引用指向子类实例
面向对象编程中的继承与多态:深入理解父类引用指向子类实例
|
存储 Cloud Native 编译器
C++ 对象生成:构造函数
C++ 对象生成:构造函数
用原型链的方式写一个类和子类
用原型链的方式写一个类和子类
39 0
创建一个对象用什么运算符?对象实体与对象引用有何不同?
创建一个对象用什么运算符?对象实体与对象引用有何不同?
|
5月前
|
JavaScript 前端开发 Java
原型对象和类之间的区别是什么
【8月更文挑战第2天】原型对象和类之间的区别是什么
100 8
|
编译器 C++
44 C++ - 继承中的构造和析构
44 C++ - 继承中的构造和析构
64 0
原型链继承: 原理:将父类的实例作为子类的原型
原型链继承: 原理:将父类的实例作为子类的原型
21-对象特性-构造函数和析构函数
21-对象特性-构造函数和析构函数
基类与派生类对象的关系 派生类的构造函数
🐰 基类与派生类对象的关系 🐰派生类的构造函数
|
JavaScript 前端开发
面试向:原型、原型链、构造函数、继承、实例对象
面试向:原型、原型链、构造函数、继承、实例对象
面试向:原型、原型链、构造函数、继承、实例对象